我在MySQL中有一个表,如下所示。
111 | 123 | XYZ |杆
222 | 234 | ABC |餐馆
111 | 007 | PKA |食品
111 | 123 | XYZ |杆
333 | 123 | XYZ |杆
现在我想得到的是具有唯一ID的数字的总大小。在我的情况下, 111 和 333 的含义与 123 的编号相同。因此,数字123的总数是2.这里我不想再次计算111,因为你可以看到111为数字123而来了两次,但我不想将它添加到总数中,因为它已经在那里伯爵。所以我想要具有相同数字的唯一id的计数。
我想从查询中输出的是: -
123(XYZ) - 2(共有3个条目,但是对于123号重复了111个id,我不想重复一个。所以我想在计算时同时考虑id和数字。)
234(ABC) - 1
007(PKA) - 1
我使用Group By查找重复值,但没有根据我的要求获得正确的输出。任何帮助或建议都会受到欢迎。
答案 0 :(得分:3)
select number, count(distinct id)
from your_table
group by number
答案 1 :(得分:1)
也可能:
select id, number, name, type,
count(distinct id) over (partition by number) numOfDistictIds
from table
order by number