提问人:Marc A 提问时间:8/4/2023 最后编辑:Scott HunterMarc A 更新时间:8/4/2023 访问量:41
尝试对分组进行计数,但仅返回大于 1
Trying to count a grouping and only return greater than 1
问:
我想编写一个SQL语句,但遇到了麻烦。
假设我有一个包含以下数据的表:
同上 | 知识产权 |
---|---|
1 | 1 |
1 | 1 |
1 | 1 |
2 | 1 |
2 | 1 |
3 | 2 |
3 | 2 |
4 | 2 |
4 | 2 |
4 | 2 |
5 | 3 |
5 | 3 |
6 | 4 |
6 | 4 |
7 | 4 |
7 | 4 |
我希望我在此表上的查询结果为:
同上 | 知识产权 |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 2 |
6 | 4 |
7 | 4 |
如您所见,它省略了 5 3 数据,因为它没有多个具有相同 ip 的 id。有没有需要做的嵌套?
对不起,尝试过:
select distinct poster_id, poster_ip from
`phpbbkp_posts` where poster_id in
(select poster_id
from
(select distinct poster_id, poster_ip from `phpbbkp_posts`) p
group by poster_id
having count(*) > 1)
order by poster_id
没用。
答:
0赞
Cristian
8/4/2023
#1
这对我有用,只是我计算的一点反向逻辑
SELECT poster_id, poster_ip FROM `phpbbkp_posts`
WHERE poster_ip
IN(
SELECT poster_ip
FROM (
SELECT DISTINCT poster_id, poster_ip FROM `phpbbkp_posts`
) AS P
GROUP BY poster_ip
HAVING COUNT(poster_id) > 1
)
评论