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

MySQL เลือกนับตามค่า?


คุณสามารถใช้ฟังก์ชัน COUNT() สำหรับสิ่งนี้ ให้เราสร้างตารางสาธิตก่อน

mysql> สร้างตาราง countValueDemo -> ( -> ShippingDatetime datetime, -> FirstValue int, -> SecondValue int -> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (1.35 วินาที)

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

mysql> แทรกลงในค่า countValueDemo ('2019-01-23',1,2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า countValueDemo ('2017-02-21', NULL, 2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า countValueDemo ('2016-04-12', 1, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)

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

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

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

<ก่อน>+---------------------+-----------+----------- ---+| วันที่จัดส่ง | FirstValue | SecondValue |+---------------------+------------+------------ -+| 2019-01-23 00:00:00 | 1 | 2 || 2017-02-21 00:00:00 | NULL | 2 || 2016-04-12 00:00:00 | 1 | NULL |+---------------------+-----------+----------- -+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกนับตามค่า

mysql> เลือก ShippingDatetime, -> COUNT(*), -> COUNT( IF( FirstValue =1, 1, NULL ) ), -> COUNT( IF( SecondValue =2, 1, NULL ) ) -> FROM countValueDemo;

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

<ก่อนหน้า>+---------------------+----------+------------- -------------------------------------------------------- --------------------+| วันที่จัดส่ง | COUNT(*) | COUNT( IF( FirstValue =1, 1, NULL ) ) | นับ( IF( SecondValue =2, 1, NULL ) ) |+---------------------+----------+-- ------------------------------------+----------- ------------------------------+| 2019-01-23 00:00:00 | 3 | 2 | 2 |+--------------------+----------+-------------- ---------------------------------------------------------- ------------------+1 แถวในชุด (0.08 วินาที)