我正在尝试编写一个 mysql 查询来选择至少两个或多个相同的用户订阅。这是查询:
SELECT a.* FROM `subscription` a, user b WHERE b.id=a.user_id and
count(a.user_id) > 1 group by a.id
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?
您应该having与聚合函数一起使用。
Where用于过滤行。Having用于根据给定条件过滤组。
SELECT a.* FROM `subscription` a, user b WHERE b.id=a.user_id
group by a.id
having count(a.user_id) > 1
Run Code Online (Sandbox Code Playgroud)
此外,使用 ANSI 语法Join如下:
SELECT a.*
FROM `subscription` a
inner join
user b
on b.id=a.user_id
group by a.id
having count(a.user_id) > 1
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6402 次 |
| 最近记录: |