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

นับค่าที่เกิดขึ้นมากที่สุด 10 อันดับแรกในคอลัมน์ใน MySQL?


ในการนับค่าที่เกิดขึ้นมากที่สุด 10 อันดับแรกในคอลัมน์ใน MySQL ไวยากรณ์จะเป็นดังนี้ -

เลือก yourColumnName, count(*) จาก yourTableName GROUP BY yourColumnName ORDER BY count(*) DESC LIMIT 10;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง countTop10Demo -> ( -> Value int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.74 วินาที)

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

mysql> แทรกลงในค่า countTop10Demo (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า countTop10Demo (1100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า countTop10Demo ( 200); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า countTop10Demo (2100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า countTop10Demo (1100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า countTop10Demo (450) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า countTop10Demo (600) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า countTop10Demo ( 2100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า countTop10Demo (150); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า countTop10Demo (16454); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า countTop10Demo (450); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า countTop10Demo (2350); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรก int o ค่า countTop10Demo (1780); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า countTop10Demo (1345); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า countTop10Demo (34); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า countTop10Demo (2100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า countTop10Demo (19034); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรก ลงในค่า countTop10Demo (1844); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า countTop10Demo (34); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า countTop10Demo (16454); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

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

นี่คือผลลัพธ์ -

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 10 || 1100 || 200 || 2100 || 1100 || 450 || 600 || 2100 || 150 || 16454 || 450 || 2350 || 1780 || 1345 || 34 || 2100 || 19034 || 1844 || 34 || 16454 |+-------+20 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกค่าที่เกิดขึ้นมากที่สุด 10 อันดับแรกในคอลัมน์ใน MySQL -

mysql> เลือกค่า จำนวน (*) -> จาก countTop10Demo -> GROUP BY Value -> ORDER BY count(*) DESC -> LIMIT 10;

นี่คือผลลัพธ์ -

<ก่อนหน้า>+-------+----------+| ความคุ้มค่า | นับ(*) |+-------+----------+| 2100 | 3 || 1100 | 2 || 34 | 2 || 450 | 2 || 16454 | 2 || 1780 | 1 || 200 | 1 || 1345 | 1 || 19034 | 1 || 600 | 1 |+-------+----------+10 แถวในชุด (0.00 วินาที)