คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 6
ปัญหามันอยู่ที่ว่ามัน GROUP BY ก่อนที่จะ ORDER BY ครับ ผลการ GROUP BY มันเลยเป็น ASC
ทางแก้คือต้องให้มัน ORDER BY ก่อน GROUP BY ซึ่งตาม statement ปกติจะทำไม่ได้
ดังนั้นเราต้องเขียน SELECT ซ้อน SELECT เพื่อให้มัน ORDER ข้อมูลก่อนครับ
ทางแก้คือต้องให้มัน ORDER BY ก่อน GROUP BY ซึ่งตาม statement ปกติจะทำไม่ได้
ดังนั้นเราต้องเขียน SELECT ซ้อน SELECT เพื่อให้มัน ORDER ข้อมูลก่อนครับ
SELECT *
FROM (
SELECT *
FROM `ตาราง`
ORDER BY `version` DESC
) AS `data`
GROUP BY `master_id`
FROM (
SELECT *
FROM `ตาราง`
ORDER BY `version` DESC
) AS `data`
GROUP BY `master_id`
แสดงความคิดเห็น
ช่วยเขียน SQL นี้ให้ทีครับ ให้เอา version ล่าสุดมาแสดง
ผมต้องการให้แสดงเฉพาะ version ล่าสุดครับ ถ้า master_id ซ้ำกัน
ซึ่งในข้อมูลจะมี master_id : 9 มีข้อมูลหลาย version อยากให้เอา version ที่มากสุดมาแสดงครับ
ผมลอง
ORDER BY version DESC