ฉันมีตารางข้อมูลเซ็นเซอร์ แต่ละแถวจะมีรหัสเซ็นเซอร์การประทับเวลาและช่องอื่น ๆ ฉันต้องการเลือกแถวเดียวที่มีการประทับเวลาล่าสุดสำหรับแต่ละเซ็นเซอร์รวมถึงฟิลด์อื่น ๆ ด้วย
ฉันคิดว่าวิธีแก้ปัญหาคือการจัดกลุ่มตามรหัสเซ็นเซอร์แล้วเรียงลำดับตาม max (การประทับเวลา) ดังนี้:
SELECT sensorID,timestamp,sensorField1,sensorField2
FROM sensorTable
GROUP BY sensorID
ORDER BY max(timestamp);
สิ่งนี้ทำให้ฉันมีข้อผิดพลาดที่บอกว่า "sensorField1 ต้องปรากฏในกลุ่มตามอนุประโยคหรือใช้ในการรวม"
วิธีที่ถูกต้องในการแก้ไขปัญหานี้คืออะไร?