Groupe par deux colonnes
Question
Je veux compter deux colonnes, mais j'ai besoin d'obtenir les résultats de la première colonne en une ligne.
SELECT country, COUNT(*)
FROM table1
GROUP BY country, type
Cette requête me donne
country type COUNT(*)
Canada first 22
Canada second 42
Canada third 15
Australia second 23
Australia third 18
Mais j'ai besoin d'obtenir
country type_first type_second type_third
Canada 22 42 15
Australia 23 18 0
Comme je veux mettre à jour un autre tableau avec ces valeurs, et avec cette structure de ligne, je peux mettre à jour la ligne de table de pays par ligne à mesure que j'obtiens de la requête ci-dessus.
UPDATE country SET first=x, second=x, third=x
REMARQUE: type
la colonne est ENUM
avec des valeurs prédéfinies.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange