我有一张表格,里面有一些遗留数据,我怀疑可能会有些混乱。这是一个多对多的连接表。如何计算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