2015-03-10 2 views
0

У меня возникли трудности с использованием COUNT и DISTINCT. У меня есть таблица MySQL в следующем формате:Сочетание количества и отличия

phone_number  language_id  
    100    1 
    200    2 
    100    1 
    100    2 
    200    3 

Как я могу получить количество в следующем формате:

phone_number  language_id  count 
    100    1    2 
    100    2    1 
    200    2    1 
    200    3    1 

ли это требует подзапрос, чтобы получить желаемый результат? Я попробовал комбинировать счет и отличить, но все равно не повезло, поэтому мне было интересно, сможет ли кто-нибудь помочь мне. Заранее спасибо ...

+0

Можете ли вы объяснить количество стоимость? – Javaluca

ответ

1

Попробуйте это:

SELECT `phone_number`, `language_id`, COUNT(*) AS `count` 
FROM `test` 
GROUP BY `phone_number`, `language_id` 
+0

спасибо, ты спас мой день .. !! – neerajdngl

+0

Счастливые помочь. Я немного изменил свой ответ, включив обратные ссылки, что всегда является хорошей идеей, особенно если имя столбца называется так же, как ключевое слово MySQL (например, 'count'). – Juan

0

Это возвращает вас только дублей (или больше), если вы хотите, чтобы все, просто удалите предложения HAVING

SELECT phone_number, language_id, count(*)AS count 
FROM name_of_your_table 
GROUP BY phone_number,language_id 
HAVING count(*)>1 
+0

спасибо за ответ, но это не точный запрос, который мне нужен ... – neerajdngl

+0

Если вы хотите видеть все, то не только дубликаты просто опускают «HAVING count (*)> 1" –

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