我有一个数据库表,用于存储来自用户的竞赛条目。
我想选择不同的电子邮件地址,然后选择每个电子邮件地址的条目数。所以我想看看每个电子邮件地址被用于条目的次数。
我在想一些事情
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 |