我看到以下同时使用 DISTINCT 和 GROUP BY 的 MySQL 查询:
SELECT DISTINCT user_id, post_id, post_content
FROM some_table
GROUP BY post_id, user_id
HAVING post_content LIKE '%abc%';
Run Code Online (Sandbox Code Playgroud)
这是一个与查询一起使用的场景:每个用户都有一个唯一的 id,user_id
,并且可以发表多个由唯一 id 标识的帖子post_id
。每个帖子都会包含一些文本。
我发现这令人困惑(来自 Oracle DB 之后)并有以下问题:
GROUP BY
而不做任何聚合是什么意思?SELECT
vs in中切换列的顺序有什么意义GROUP BY
?GROUP BY
?DISTINCT
与 一起使用GROUP BY
?在对最终结果或之前完成所有分组之后,是否运行不同的操作?