如何查询获取具有不同值的列的计数

时间:2018-10-18 12:12:59

标签: mysql sql

我写了一个查询,得到这样的结果。

nid  | target_id
2570 | 748
2570 | 756
2570 | 756
2570 | 756
2571 | 799
2572 | 785

我尝试了计数和分组,但结果却是

nid  | target_id
2570 | 4
2571 | 1
2572 | 1

现在我想写一些查询来获得类似这样的结果

nid  | target_id | count(target_id)
2570 | 748       | 1
2570 | 756       | 3
2571 | 799       | 1
2572 | 785       | 1

然后获取所有大于1的nid。 我已经尝试了许多查询,但没有找到解决办法的运气。 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

使用count()并将两个列分组为

select nid,target_id,count(*) as count_target_id from t
group by nid,target_id
having count_target_id>1