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

หลาย COUNT () สำหรับหลายเงื่อนไขในการสืบค้น MySQL เดียว?


คุณสามารถนับ COUNT() ได้หลายรายการสำหรับหลายเงื่อนไขในการสืบค้นเดียวโดยใช้ GROUP BY

ไวยากรณ์มีดังนี้ -

เลือก yourColumnName,COUNT(*) จากกลุ่ม yourTableName โดย yourColumnName;

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

mysql> สร้างตาราง MultipleCountDemo-> (-> Id int,-> Name varchar(100),-> Age int-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (2.17 วินาที)

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

mysql> แทรกลงในค่า MultipleCountDemo (1,'Carol',21); ตกลง ตกลง 1 แถวที่ได้รับผลกระทบ (0.27 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (2,'Sam',21); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (3,'Bob',22); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (4,'John', 23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (5,'David',22); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (6,'Adam', 22); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า MultipleCountDemo (7,'Johnson',23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า MultipleCountDemo (8, 'Elizabeth', 23);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.25 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------+-----------+------+| รหัส | ชื่อ | อายุ |+------+-----------+------+| 1 | แครอล | 21 || 2 | แซม | 21 || 3 | บ๊อบ | 22 || 4 | จอห์น | 23 || 5 | เดวิด | 22 || 6 | อดัม | 22 || 7 | จอห์นสัน | 23 || 8 | เอลิซาเบธ | 23 |+------+-----------+------+8 แถวในชุด (0.00 วินาที)

ต่อไปนี้คือข้อความค้นหาสำหรับ count() หลายรายการสำหรับหลายเงื่อนไขในการสืบค้นเดียว

mysql> เลือกอายุนับ (*) เป็น AllSingleCount จากกลุ่ม MultipleCountDemo ตามอายุ

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------+----------------+| อายุ | AllSingleCount |+------+----------------+| 21 | 2 || 22 | 3 || 23 | 3 |+------+----------------+3 แถวในชุด (0.00 วินาที)