Diciamo che ho una tabella:MySQL come ottenere corretto conteggio di tutti i campi desiderati nella tabella
ID, City1, City2, City3, Paese, .... (non è importante)
L'applicazione chiede alle persone dove vorrebbero vivere, diciamo la Francia. Quindi è obbligatorio aggiungere almeno una città, ma è possibile aggiungere 3 città max.
Così, per esempio abbiamo in dati della tabella:
ID City1 City2 City3 Country UserID
--------------------------------------------------
1 Paris / / France 1
2 Paris Nice / France 2
3 Paris Nice / France 3
4 Nice Paris Lyon France 4
5 Lyon Paris Nice France 5
6 Cannes Nice Paris France 6
7 Paris Cannes Lyon France 7
--------------------------------------------------
Così ora visualizzare tutti gli utenti su una pagina quando un utente fa clic Francia. Quindi sopra gli utenti voglio visualizzare tutte le città con numero come Parigi (n) per esempio .
quindi se scrivo:
select City1 as city, count(1) as num
from table_c
where Country = "France" group by City1;
ottengo Parigi (4), ma ho bisogno di ottenere Parigi (7), perché voglio anche visualizzare City2 e City3, non so come scrivere come una dichiarazione SQL.
Ho provato con molte istruzioni SQL, ma poi ho ottenuto un paio di volte Parigi (n) visualizzato, haw può essere fatto. Se può essere?
fare un UNION ALL. (Oppure usa le espressioni del caso.) – jarlh
come può essere fatto, non ho molta esperienza con SQL, è possibile che tu possa scrivermi un esempio per favore. Grazie – mpotoc
'SELEZIONA città, COUNT (*) FROM (SELEZIONA paese, città1 AS città FROM my_table UNIONE TUTTO Seleziona paese, città2 FROM my_table UNIONE TUTTO Seleziona paese, città3 FROM my_table) x GROUP BY city'. Si noti che le colonne enumerate (sopra 2, per esempio) sono spesso sintomatiche di scarso design – Strawberry