2015-03-10 1 views
0

J'ai des difficultés à utiliser COUNT et DISTINCT. J'ai une table mysql dans le format suivant:Combinaison count et distinct

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

Comment puis-je obtenir le nombre dans le format suivant:

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

-t-il besoin d'un sous-requête pour obtenir la sortie désirée? J'ai essayé de combiner count et distinct mais toujours pas de chance, alors je me demandais si quelqu'un pouvait m'aider. Merci à l'avance ...

+0

Pouvez-vous expliquer le nombre valeur? – Javaluca

Répondre

1

Essayez ceci:

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

merci, vous avez sauvé ma journée .. !! – neerajdngl

+0

Heureux de vous aider. J'ai légèrement modifié ma réponse pour inclure les guillemets, ce qui est toujours une bonne idée, surtout si un nom de colonne est nommé comme un mot-clé MySQL (comme 'count'). – Juan

0

Cela renvoie vous que les doublons (ou plus), si vous voulez tout simplement supprimer la clause HAVING

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

merci de répondre, mais ce n'est pas la requête exacte dont j'ai besoin ... – neerajdngl

+0

Si vous voulez voir tout, non seulement les doublons omettent "HAVING count (*)> 1" –