Distinct กับ Group by
DISTINCT เป็นคำสั่งที่ใช้หาข้อมูลที่ไม่ซ้ำออกมา ซึ่งถ้าข้อมูลซ้ำกันจะเลือกมาแค่ Record เดียว
1 2 3 | SELECT DISTINCT(member_id) FROM member LIMIT 0,10 |
GROUP BY เป็นคำสั่งที่มักจะใช้รวมกับ SUM เพื่อใช้ในการหาผลรวมของข้อมูล แต่ก็สามารถนำมาประยุกต์ เพื่อใช้ในการข้อมูลที่ไม่ซ้ำได้เหมือนกัน
1 2 3 4 | SELECT member_id FROM member GROUP BY member_id LIMIT 0,10 |
เรื่องที่จะบอกก็คือ
DISTINCT กับ GROUP BY ผลลัพธ์ของข้อมูลได้เหมือนกัน แต่ความเร็วในการ Query ต่างกันมาก กับข้อมูลมาก ๆ เพราะฉะนั้นมาเปลี่ยนมาใช้ GROUP BY ดีกว่า เพื่อความเร็วของ program และ db admin จะได้ไม่บ่น

