[英]get distinct value count in mysql select query
我在MySQL中有一张表,如下所示。
111 | 123 | XYZ | 酒吧
222 | 234 | ABC | 餐馆
111 | 007 | PKA | 餐饮
111 | 123 | XYZ | 酒吧
333 | 123 | XYZ | 酒吧
现在我想得到的是具有唯一ID的数字的总大小。 在我的情况下,意味着111和333具有相同的数字123 。 因此,数字123的总数为2。在这里,我不想再计算111,因为您可以看到数字123出现了111次,但是我不想在总数中加上它,因为它已经在其中了计数。 所以我想要具有相同编号的唯一ID计数。
我想从查询的输出是:-
123(XYZ)-2(共有3个条目,但对123重复了111 id,我不想重复一个。因此我想在获取计数时同时考虑id和number。)
234(ABC)-1
007(PKA)-1
我使用了“分组依据”来查找重复的值,但是没有按照我的要求获得正确的输出。 任何帮助或建议都将受到欢迎。
select number, count(distinct id)
from your_table
group by number
也可能:
select id, number, name, type,
count(distinct id) over (partition by number) numOfDistictIds
from table
order by number
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.