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

แบบสอบถาม MySQL เพื่อหลีกเลี่ยงการแสดงค่าที่ซ้ำกัน?


สำหรับสิ่งนี้ คุณสามารถใช้ GROUP BY และใช้ COUNT เพื่อรับเฉพาะค่าที่ไม่ซ้ำกัน ต่อไปนี้เป็นไวยากรณ์ -

เลือก yourColumnName จากกลุ่ม yourTableName โดย yourColumnName มี count(*)=1;

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Subject varchar(100) -> );Query OK, 0 แถวได้รับผลกระทบ (0.70 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Subject)('MySQL');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable(Subject)('MongoDB');Query OK, 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('MongoDB'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('C'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('C ++'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.11 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (หัวเรื่อง) ('C'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.23 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+----+---------+| รหัส | เรื่อง |+---+---------+| 1 | MySQL || 2 | MongoDB || 3 | ชวา || 4 | MongoDB || 5 | ค || 6 | C++ || 7 | ชวา || 8 | C |+----+---------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อหลีกเลี่ยงการแสดงซ้ำ -

mysql> เลือกหัวเรื่องจากกลุ่ม DemoTable ตามหัวเรื่องที่มี count(*)=1;

ผลลัพธ์

<ก่อนหน้า>+---------+| หัวเรื่อง |+---------+| MySQL || C++ |+---------+2 แถวในชุด (0.00 วินาที)