2013-06-04 5 views
2

У меня есть таблица базы данных, в которой хранятся записи конкурсов от пользователей.Выберите отдельный столбец и количество записей

Я хочу выбрать отдельный адрес электронной почты, а затем количество записей для каждого адреса электронной почты. Поэтому я хочу посмотреть, сколько раз каждый адрес электронной почты использовался для записей.

Я имею в виду что-то вдоль линий

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

К сожалению, вероятно, очень простой вопрос на самом деле. Но я не могу это понять.

ответ

3

Является ли это то, что вы хотите?

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

Это даст вам уникальный набор email и дать вам общее число записей для конкретного email.

COUNT() представляет собой совокупность функций, которые в основном подсчитать количество записей для каждой группы, если GROUP BY указано, в данном случае email, но если нет GROUP BY то он будет рассчитывать все записи в таблице.

+0

Это замечательно! Я знал, что это действительно просто. К сожалению! –

+0

приветствуется ':)' –

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

INSERT INTO tbl (`email`) 
VALUES 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'), 
    ('[email protected]'); 

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

Результат

| EMAIL | COUNT(*) | 
---------------------- 
| [email protected] |  2 | 
| [email protected] |  2 | 
| [email protected] |  3 | 
| [email protected] |  1 | 
| [email protected] |  1 | 

See a demo

Смежные вопросы