我有一張表格,裏面有一些遺留數據,我懷疑可能會有些混亂。這是一個多對多的連接表。如何計算MySQL中非唯一的值組合?
LIST_MEMBERSHIPS
----------------
list_id
address_id
我想運行一個查詢,將統計每個list_id
的出現 - address_id
對,並顯示出發生從最高計數每到最低出現的次數。
我知道它需要涉及COUNT()
和GROUP BY
,對吧?
我有一張表格,裏面有一些遺留數據,我懷疑可能會有些混亂。這是一個多對多的連接表。如何計算MySQL中非唯一的值組合?
LIST_MEMBERSHIPS
----------------
list_id
address_id
我想運行一個查詢,將統計每個list_id
的出現 - address_id
對,並顯示出發生從最高計數每到最低出現的次數。
我知道它需要涉及COUNT()
和GROUP BY
,對吧?
select list_id, address_id, count(*) as count
from LIST_MEMBERSHIPS
group by 1, 2
order by 3 desc
您可能會發現它有用添加
having count > 1
這似乎工作。謝謝! – Ethan 2009-05-22 00:14:41
select count(*), list_id, address_id
from list_membership
group by list_id, address_id
order by count(*) desc
什麼是你的表定義像你LIST_MEMBERSHIPS表? – 2009-05-22 00:08:46