[英]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.