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

นับรายการที่แตกต่างกันในแบบสอบถาม MySQL เดียวหรือไม่


หากต้องการนับรายการ ให้ใช้ COUNT() ร่วมกับ DISTINCT ในที่นี้ DISTINCT ใช้เพื่อคืนค่าที่แตกต่างกัน เรามาดูตัวอย่างและสร้างตารางกัน −

mysql> สร้างตาราง DemoTable( CustomerId int, CustomerName varchar(20), ProductName varchar(40));Query OK, 0 แถวได้รับผลกระทบ (1.02 วินาที)

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

mysql> แทรกลงในค่า DemoTable (101,'Chris', 'Product-1');เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า DemoTable (102,'David','Product-2 '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable (101, 'Chris', 'Product-1'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที) mysql> แทรกลงในค่า DemoTable ( 101,'Chris','Product-2');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable (101,'Chris','Product-1'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที)

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

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

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

<ก่อนหน้า>+------------+--------------+-----------+| รหัสลูกค้า | ชื่อลูกค้า | ProductName |+------------+--------------+-----------+| 101 | คริส | สินค้า-1 || 102 | เดวิด | สินค้า-2 || 101 | คริส | สินค้า-1 || 101 | คริส | สินค้า-2 || 101 | คริส | Product-1 |+------------+--------------+-------------+5 แถวใน ตั้งค่า (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับรายการต่าง ๆ ในแบบสอบถามเดียว -

mysql> เลือกจำนวน (ชื่อผลิตภัณฑ์ที่แตกต่าง) จาก DemoTable โดยที่ CustomerId=101;

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

<ก่อนหน้า>+-----------------------------+| นับ(ชื่อผลิตภัณฑ์ที่แตกต่าง) |+-----------------------------+| 2 |+------------------------------------------+1 แถวในชุด (0.00 วินาที)