mysql group by和order by不起作用

时间:2014-01-20 01:40:21

标签: mysql database group-by

我有一个问题,如果你可以帮我吗?
我正在使用“group by”和“order by”,但是order by不起作用 我想得到一个在列中得到相同值的组的最后一个元素 这是我的查询
$query = mysql_query("SELECT * FROM messages GROUP BY id_sender ORDER BY message_time");

messages

id | sender | receiver | message_time | id_sender

1 | Joe | Mellen | 05-01-30 | 1
2 | Joe | Mellen | 04-01-31 | 1
3 | balbal | blabla | 05-01-30 | 2
4 | balbal | blabla | 15-31-20 | 2
我想要得到像这样的东西 Joe Mellen / 04-01-31
balbal blabla / 15-31-20

1 个答案:

答案 0 :(得分:1)

在阅读了额外的评论后,听起来像是在寻找类似的东西:

select m.* 
from messages m
  join ( 
    select id_sender, max(id) maxid
    from messages
    group by id_sender
    ) t on m.id = t.maxid

基本上,您需要使用子查询来确定每个id_sender的每个id的max(),然后再联接回原始表。