Disons que j'ai une table:
Id, City1, City2, City3, Pays, .... (pas important) p>
La demande demande aux gens où aimeraient vivre Dire la France. Il est donc obligatoire d'ajouter au moins une ville, mais vous pouvez ajouter 3 villes maximales. P>
Donc, par exemple, nous avons dans les données du tableau: P>
select City1 as city, count(1) as num
from table_c
where Country = "France" group by City1;
4 Réponses :
dans le cas de City1 code> Colonne contient toutes les villes, vous pouvez simplement faire cela: SELECT t.city,count(*) FROM (
SELECT City1 as city FROM table_c WHERE Country = "France"
UNION ALL
SELECT City2 FROM table_c WHERE Country = "France"
UNION ALL
SELECT City3 FROM table_c WHERE Country = "France"
UNION ALL
SELECT City4 FROM table_c WHERE Country = "France") t
GROUP BY t.city
Vous pouvez essayer la requête suivante:
SELECT city,
SUM(cnt) AS num
FROM (
SELECT City1 AS city,
COUNT(*) AS cnt
FROM table_c
WHERE Country = 'France'
GROUP BY City1
UNION ALL
SELECT City2 AS city,
COUNT(*) AS cnt
FROM table_c
WHERE Country = 'France'
GROUP BY City2
UNION ALL
SELECT City3 AS city,
COUNT(*) AS cnt
FROM table_c
WHERE Country = 'France'
GROUP BY City3
) tmp
GROUP BY tmp.city;
Essayez ceci;)
select city, count(1)
from (
select City1 as city
from table_c
where Country = "France"
union all
select City2 as city
from table_c
where Country = "France"
union all
select City3 as city
from table_c
where Country = "France") tmp
group by city
Pouvez-vous essayer ce SQL et laissez-moi savoir si cela fonctionne
C'est une copie de plus d'une réponse ici.
Je viens de voir qu'il y avait plus de réponses que la mienne
Faire un syndicat tout. (Ou utiliser des expressions de cas.)
Comment cela peut-il être fait, je ne suis pas très expérimenté avec SQL, est-il possible que vous puissiez m'écrire un exemple s'il vous plaît? Merci
Sélectionnez Ville, Compte (*) de (Sélectionnez Pays, City1 en tant que ville de My_Table Union Tout Select Pays, City2 de My_Table Union Tout Sélectionnez Pays, City3 de My_Table) X Groupe par Ville Code>. Notez que les colonnes énumérées (ci-dessus 2, disent) sont souvent symptomatiques de la conception médiocreJe vais essayer maintenant et revenir à vous tous :)
Merci à tous, ça a résolu mon problème. J'ai tout vérifié et travaille parfaitement pour ce dont j'ai besoin. Merci encore :)