显示群组数据及其最新消息

时间:2019-07-18 18:03:14

标签: mysql sql

我想显示根据日期将结果归类在组中的最新消息。 enter image description here

我尝试分组并且与嵌套查询一起使用,但是没有运气。

SELECT groupName,date FROM chat where groupName  like '%he%' group by groupName,date having min(date);

我希望两行一起打印最新消息。这里是第4行和第5行。这只是一个任意数据,尽管我需要大量填充。

2 个答案:

答案 0 :(得分:1)

您不需要group by,只需过滤:

select c.*
from chat c
where c.date = (select max(c2.date) from chat c2 where c2.groupname = c.groupname);

答案 1 :(得分:1)

您可以使用NOT EXISTS来做到这一点:

SELECT c.* 
FROM chat c 
WHERE 
  groupName  LIKE '%he%'
  AND 
  NOT EXISTS (
    SELECT 1 FROM chat 
    WHERE groupname = c.groupname AND date > c.date
  )