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

จะนับค่าที่แตกต่างกันใน MySQL ได้อย่างไร


ในการนับค่าที่ไม่ซ้ำ คุณสามารถใช้ค่าความแตกต่างในการนับฟังก์ชันรวม () ได้

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

เลือกจำนวน (แยกแยะ yourColumnName) เป็น anyVariableName จาก yourTableName;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง −

mysql> สร้างตาราง DistinctDemo −> ( −> ชื่อ varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

ตัวอย่างเช่น ให้เราแทรกระเบียนที่ซ้ำกันในตาราง แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -

mysql> แทรกลงในค่า DistinctDemo ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DistinctDemo ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรก ลงในค่า DistinctDemo ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DistinctDemo ('Johnson'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DistinctDemo ('John ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า DistinctDemo ('Johnson'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DistinctDemo ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DistinctDemo ('Johnson'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงระเบียนที่ซ้ำกัน -

<ก่อนหน้า>+---------+| ชื่อ |+---------+| จอห์น || แซม || จอห์น || จอห์นสัน || จอห์น || จอห์นสัน || แซม || Johnson |+---------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่สามารถใช้ในการนับค่าที่แตกต่างจากตาราง -

mysql> เลือกจำนวน (ชื่อที่แตกต่าง) เป็น DistinctValues ​​จาก DistinctDemo;

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

<ก่อนหน้า>+----------------+| DistinctValues ​​|+----------------+| 3 |+----------------+1 แถวในชุด (0.01 วินาที)

ผลลัพธ์ i3 บอกว่าเรามีค่าที่แตกต่างกัน 3 ค่าในตาราง