繁体   English   中英

选择不同的列,然后选择条目数

[英]Select distinct column, and a count of the entries

我有一个数据库表,用于存储来自用户的比赛条目。

我想选择不同的电子邮件地址,然后选择每个电子邮件地址的条目数。 因此,我想看看每个电子邮件地址已被使用多少次。

我在想一些类似的事情

SELECT DISTINCT `email` FROM `tablename`   but have a count in there somewhere?

抱歉,可能是一个非常基本的问题。 但是我似乎无法理解。

这是你想要的吗?

SELECT email, COUNT(*) totalCount
FROM tableName
GROUP BY email

这将为您提供一组唯一的email并为您提供特定email的总记录。

COUNT()是一个聚合函数,如果指定了GROUP BY则基本上对每个组的记录数进行计数(在本例中为email ,但如果没有GROUP BY则它将对表中的所有记录进行计数。

CREATE TABLE tbl (`email` varchar(10));

INSERT INTO tbl (`email`)
VALUES
    ('a@b.com'),
    ('b@b.com'),
    ('c@b.com'),
    ('d@b.com'),
    ('e@b.com'),
    ('a@b.com'),
    ('b@b.com'),
    ('c@b.com'),
    ('c@b.com');

SELECT email, COUNT(*)
FROM tbl
GROUP BY email;

结果

|   EMAIL | COUNT(*) |
----------------------
| a@b.com |        2 |
| b@b.com |        2 |
| c@b.com |        3 |
| d@b.com |        1 |
| e@b.com |        1 |

观看演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM