选择不同的列,以及条目的计数

时间:2013-06-04 01:22:57

标签: mysql sql

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

我想要选择不同的电子邮件地址,然后选择每个电子邮件地址的条目数。所以我想看看每个电子邮件地址被用于条目的次数。

我在想

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

抱歉,这可能是一个非常基本的问题。但我似乎无法得到它。

2 个答案:

答案 0 :(得分:3)

这是你想要的吗?

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

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

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

答案 1 :(得分:1)

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 |

See a demo