SQL group by不起作用

时间:2018-04-18 12:13:19

标签: mysql sql group-by

我有简单的SQL查询问题。我有表articles(id, name)posts(id, name, article_id)

我需要获取所有帖子并按照article_id对它们进行排序,因为来自帖子的article_id是来自文章的id的外键。一篇文章可以属于一篇文章,但一篇文章可以有很多文章。我试过这样:

  SELECT * FROM `posts` GROUP BY article_id

我的错误在哪里?我的错误是这样的:

  

#1055 - SELECT列表的表达式#1不在GROUP BY子句中,并且包含非聚合列' homestead.posts.id'它在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by

不兼容

2 个答案:

答案 0 :(得分:4)

  

我需要获取所有帖子并按照article_id对其进行排序

如果要对数据进行排序,则必须使用ORDER BY子句

MySQl documentation

答案 1 :(得分:3)

GROUP BY用于聚合,因此请使用ORDER BY

SELECT *
FROM posts
ORDER BY article_id