Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

รับรายการสุดท้ายในตาราง MySQL หรือไม่


คุณสามารถรับรายการสุดท้ายในตาราง MySQL โดยใช้ ORDER BY วิธีแรกมีดังนี้:

กรณีที่ 1 :ใช้ DESC LIMIT

เลือก * จาก yourTableName ORDER BY yourColumnName DESC LIMIT 1;

วิธีที่สองมีดังนี้:

กรณีที่ 2 :ใช้ MAX()

SET @anyVariableName =(SELECT MAX(yourColumnName) จาก yourTableName);SELECT *FROM yourtableName โดยที่ yourColumnName =@anyVariableName;

เพื่อทำความเข้าใจทั้งสองวิธี ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง lastEntryDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(30), -> Age int, -> PRIMARY KEY(Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ ( 0.71 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า lastEntryDemo(Name,Age)('Larry',24);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่าlastEntryDemo(ชื่อ,อายุ)('John',21);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงใน lastEntryDemo(ชื่อ,อายุ) ค่า('David',22);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน lastEntryDemo(ชื่อ,อายุ) ค่า ('Bob',25); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงใน lastEntryDemo (ชื่ออายุ) ค่า ('Carol', 29); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที) mysql> แทรกค่า LastEntryDemo(Name,Age)('Mike',23);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกในค่า lastEntryDemo(Name,Age)('Sam',20);Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก lastEntryDemo;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 1 | แลร์รี่ | 24 || 2 | จอห์น | 21 || 3 | เดวิด | 22 || 4 | บ๊อบ | 25 || 5 | แครอล | 29 || 6 | ไมค์ | 23 || 7 | แซม | 20 |+----+-------+------+7 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรับรายการสุดท้ายโดยใช้ ORDER BY

กรณีที่ 1 :DESC LIMIT

แบบสอบถามมีดังนี้:

mysql> เลือก *จากคำสั่ง LastEntryDemo ตามชื่อ desc จำกัด 1;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+------+------+| รหัส | ชื่อ | อายุ |+----+------+------+| 7 | แซม | 20 |+---+------+------+1 แถวในชุด (0.00 วินาที)

กรณีที่ 2 :ใช้ MAX()

แบบสอบถามมีดังนี้:

mysql> set @MaxId =(เลือก max(Id) จาก lastEntryDemo);Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)mysql> เลือก *from lastEntryDemo โดยที่ Id =@MaxId;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+------+------+| รหัส | ชื่อ | อายุ |+----+------+------+| 7 | แซม | 20 |+---+------+------+1 แถวในชุด (0.00 วินาที)