ให้เราดูไวยากรณ์แรกซึ่งใช้ DISTINCT ใน MAX() -
select max(DISTINCT yourColumnName) จาก yourTableName;
ไวยากรณ์ที่สองมีดังนี้ ไม่ได้ใช้ DISTINCT -
เลือก max( yourColumnName) จาก yourTableName;
หมายเหตุ − แบบสอบถามทั้งสองข้างต้นให้ผลลัพธ์เหมือนกันโดยมีหรือไม่มีคีย์เวิร์ด DISTINCT MySQL ภายในแปลงคำหลัก MAX(yourColumnName) เป็น DISTINCT
ให้เราดูตัวอย่างและสร้างตาราง -
mysql> สร้างตาราง DemoTable( Number int);Query OK, 0 แถวได้รับผลกระทบ (1.50 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable (80); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (88); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ( 78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (88); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (68); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.09 วินาที) mysql> แทรกลงในค่า DemoTable (88) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+---------+| เบอร์ |+-------+| 80 || 88 || 78 || 88 || 68 || 88 |+--------+6 แถวในชุด (0.00 วินาที)กรณีที่ 1 − ต่อไปนี้เป็นแบบสอบถามที่จะใช้ MAX(DISTINCT..) -
mysql> เลือกสูงสุด (หมายเลข DISTINCT) จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------------------+| max(DISTINCT Number) |+----------------------+| 88 |+----------------------+1 แถวในชุด (0.00 วินาที)กรณีที่ 2 − ต่อไปนี้เป็นแบบสอบถามที่จะใช้ MAX() โดยไม่มี DISTINCT -
mysql> เลือก max(Number) จาก DemoTable
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+| สูงสุด(จำนวน) |+-------------+| 88 |+-------------+1 แถวในชุด (0.07 วินาที)ดังที่คุณเห็นด้านบน ทั้งคู่ให้ผลลัพธ์เหมือนกัน