สำหรับสิ่งนี้ ให้ใช้ 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;