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

เลือกแบบสอบถามเพื่อแสดงค่าที่ซ้ำกันด้วยวันที่สูงสุด


สำหรับสิ่งนี้ ให้ใช้ GROUP BY และ HAVING ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( StudentName varchar(100), DueDate date ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.72 วินาที)

ตัวอย่าง

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('John','2019-01-11'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris','2019-02-11 '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris', '2019-03-11'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable ( 'John','2019-04-11');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob','2019-05-11'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob', '2019-06-11'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert', '2019-07-11 '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert','2019-08-11'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ( 'Robert','2019-09-11');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-------------+-----------+| ชื่อนักเรียน | DueDate |+-------------+-----------+| จอห์น | 2019-01-11 || คริส | 2019-02-11 || คริส | 2019-03-11 || จอห์น | 2019-04-11 || บ๊อบ | 2019-05-11 || บ๊อบ | 2019-06-11 || โรเบิร์ต | 2019-07-11 || โรเบิร์ต | 2019-08-11 || โรเบิร์ต | 2019-09-11 |+-------------+-----------+9 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงค่าที่ซ้ำกันกับวันที่สูงสุด -

mysql> เลือก tbl.StudentName,max(tbl.DueDate) จากกลุ่ม DemoTable tbl โดย tbl.StudentNameการนับจำนวน (*)> 1;

ผลลัพธ์

<ก่อนหน้า>+-------------+-----------------+| ชื่อนักเรียน | max(tbl.DueDate) |+-------------+-----------------+| จอห์น | 2019-04-11 || คริส | 2019-03-11 || บ๊อบ | 2019-06-11 || โรเบิร์ต | 2019-09-11 |+-------------+-----------------+4 แถวในชุด (0.00 วินาที)