繁体   English   中英

在mysql选择查询中获取不同的值计数

[英]get distinct value count in mysql select query

我在MySQL中有一张表,如下所示。

id | 编号 名称| 类型

111 | 123 | XYZ | 酒吧

222 | 234 | ABC | 餐馆

111 | 007 | PKA | 餐饮

111 | 123 | XYZ | 酒吧

333 | 123 | XYZ | 酒吧

现在我想得到的是具有唯一ID的数字的总大小。 在我的情况下,意味着111333具有相同的数字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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM