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
scroll top