mysql group by 不能排序问题

我现在有一个文章表 有两个字段 id 和 catid
我想给 每个catid 有8个分类 列出 最新发的一篇文章

select * from post gruop by catid order by id desc;

这样我只能取出 8条 id 最小的 也就是 最老的一篇文章 order by id 并不起作用

如何才能按照id号desc开始排序

阅读 8.4k
3 个回答

你select * 本来就是不严谨的写法,只是mysql兼容性比较强默认给你放最小的,如果sql带有group by,那么select里头只能包含group by中的列或者是聚合函数,你评论说的没法order by 是因为需要对max后的列加一个别名。

select max(id) id, catid from post group by catid order by id desc;

clipboard.png

clipboard.png

select * from post gruop by catid order by id desc;

gruop by catid 写在后面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题