首頁  >  問答  >  主體

mysql group by 不能排序问题

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

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

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

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

PHPzPHPz2742 天前1081

全部回覆(3)我來回復

  • 阿神

    阿神2017-04-17 16:54:09

    你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;

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 16:54:09

    雷雷

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 16:54:09

    gruop by catid 寫在後面

    回覆
    0
  • 取消回覆