获取LEFT JOIN表格的最后一个条目

时间:2016-05-07 05:30:28

标签: left-join ms-query

我有一个查询

SELECT cm.posted_at, s.id, s.name, s.device, co.status, co.last_seen, d.device_id 
FROM station s LEFT JOIN chat_online co 
ON s.id = co.station_id AND s.device = co.device_id 
LEFT JOIN device d ON s.device=d.id 
LEFT JOIN chat_message cm ON cm.station_id=s.id 
WHERE s.status='1' AND (co.role='station' OR co.role IS NULL) 
GROUP BY s.id 
ORDER BY cm.posted_at DESC

其中chat_message在执行上述查询时有一个站的多个条目我得到对应于每个station_id的chat_message的第一个条目。如何在离开加入chat_message与电台

时检索chat_message的最后一个条目

先谢谢

1 个答案:

答案 0 :(得分:2)

据我所知,你有数据, enter image description here

你需要像这样查询,

select cm.posted_at, s.id, s.name, s.device from station s
JOIN      (
              SELECT    MAX(posted_at) posted_at,stationId
              FROM      chat_message 
              GROUP BY  stationId
          ) cm ON (cm.stationId = s.id)

enter image description here