ช่วยเขียน SQL นี้ให้ทีครับ ให้เอา version ล่าสุดมาแสดง



ผมต้องการให้แสดงเฉพาะ version ล่าสุดครับ ถ้า master_id ซ้ำกัน
ซึ่งในข้อมูลจะมี master_id : 9 มีข้อมูลหลาย version อยากให้เอา version ที่มากสุดมาแสดงครับ

ผมลอง
GROUP BY master_id
ORDER BY version DESC
ก็ไม่ได้ครับ

คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 6
ปัญหามันอยู่ที่ว่ามัน GROUP BY ก่อนที่จะ ORDER BY ครับ  ผลการ GROUP BY มันเลยเป็น ASC

ทางแก้คือต้องให้มัน ORDER BY ก่อน GROUP BY ซึ่งตาม statement ปกติจะทำไม่ได้
ดังนั้นเราต้องเขียน SELECT ซ้อน SELECT เพื่อให้มัน ORDER ข้อมูลก่อนครับ

SELECT *
FROM (
    SELECT *
    FROM `ตาราง`
    ORDER BY `version` DESC
) AS `data`
GROUP BY `master_id`
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่