mysql group by 和 order by 不起作用

标签 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

最佳答案

听起来您在阅读额外评论后正在寻找类似的东西:

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(),然后连接回原始表。

关于mysql group by 和 order by 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224983/

相关文章:

php - 将mysql数据库导入wamp服务器

python - 运行每日 SQL 查询和通过电子邮件发送结果的最佳方法

php - 外来字符在mysql中变成垃圾

mysql - 尝试按 SQL 中具有最新日期的字段进行分组,其中另一个字段相同

mysql - LEFT 连接时 SQL DELETE 太长

php - 使用表将 php 中的数据与 MySQL 中的数据按日期分开

PHP/MySQL 在 DST 更改期间按 DATETIME 字段进行选择

database - 扫描 AWS DynamoDB 的替代方案?

php sql 查询为每个单独的记录返回多行,误用连接?

mysql - 按列分组,返回最近和最早的字段