假设我有一个名为Domain
的MySQL表。如何从该表中找到最受欢迎的电子邮件域名。直接我想查找最大数量的所有行。选择多个最大行
Domain
gmail.com
gmail.com
gmail.com
yahoo.com
yahoo.com
yahoo.com
rediffmail.com
rediffmail.com
mail.com
我想要的输出:
Domain No_of_users
gmail.com 3
yahoo.com 3
假设我有一个名为Domain
的MySQL表。如何从该表中找到最受欢迎的电子邮件域名。直接我想查找最大数量的所有行。选择多个最大行
Domain
gmail.com
gmail.com
gmail.com
yahoo.com
yahoo.com
yahoo.com
rediffmail.com
rediffmail.com
mail.com
我想要的输出:
Domain No_of_users
gmail.com 3
yahoo.com 3
select
x.Domain,
x.No_of_users
from
(select
d.Domain,
count(d.Domain) as No_of_users
from
Domain d
group by
d.Domain) x
where
x.No_of_users =
(select
max(x2.No_of_users)
from
(select
d2.Domain,
count(d2.Domain) as No_of_users
from
Domain d2
group by
d2.Domain) x2)
superb.Worked for me..Thanks。谢谢。 – Alonso
太复杂了。 @ Marlin的答案没有太多的子查询。 –
SELECT Domain, count(id)
FROM Domain
GROUP BY Domain.Domain
HAVING count(id) = (SELECT count(id) FROM Domain D GROUP BY D.Domain ORDER BY count(id) DESC LIMIT 1)
是最常用的记录。所以gmail和雅虎都是3次,但不是rediffmail,因为它用了不到3次。 – GolezTrol
我不想使用限制。 – Alonso
@ user1690831,我添加了一些更多的示例数据,以阻止正在发生的混淆... – Ben