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

แบบสอบถาม MySQL เพื่อเลือกค่าที่มีหลายครั้งและแสดงจำนวนของพวกเขา


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

mysql> สร้างตาราง DemoTable673 (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, Value int); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable673(Value) (10); Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable673(Value) (20); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable673(Value) (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงใน DemoTable673 (ค่า) ค่า (30); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน DemoTable673 (ค่า) ค่า (20) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable673 (ค่า) (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable673 (ค่า) (10);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.28 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 1 | 10 || 2 | 20 || 3 | 10 || 4 | 30 || 5 | 20 || 6 | 10 || 7 | 10 |+----+-------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามที่จะแสดงเฉพาะค่าที่เกิดขึ้นหลายครั้ง -

mysql> เลือก Id,count(*) เป็น myValue จากกลุ่ม DemoTable673 ตามค่าที่มี count(*)> 1;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+---------+| รหัส | myValue |+----+---------+| 1 | 4 || 2 | 2 |+----+---------+2 แถวในชุด (0.00 วินาที)