2012-01-08 20 views
5

Ho una tabella che registra le posizioni degli utenti dalla mia applicazione Web aggiungendo un codice di paese alla colonna "codice paese" di ogni riga. Ogni riga rappresenta una visita a un'area specifica.Conteggio e combinazione di righe

così ho alcuni dati come

COL1 COL2 COL3 countrycode 
asd  asd  asd  NZ 
asd  asd  asd  NZ 
asd  asd  asd  NZ 
asd  asd  asd  US 
asd  asd  asd  US 

Quello che voglio fare è quello di interrogare questa tabella e mi mostra una cosa del genere al di sotto

Country Count 
    NZ  3 
    US  2 

ma ho bisogno di essere in grado di aggiungere una riga per ulteriori codici paese che sono venuti fuori. Non posso ottenere la mia testa intorno ad un modo per fare questo, so che ho bisogno di usare la funzione COUNT() in qualche modo ...

risposta

6

Per ottenere l'output ad esempio, è possibile utilizzare GROUP BY e COUNT()

SELECT Country, COUNT(*) 
FROM myTable 
GROUP BY Country 

COUNT(*) conterà sempre in fila e GROUP BY Country dividerà i risultati per Paese. I risultati saranno dinamici in base ai dati nella tabella, quindi non è necessario modificare la query se si aggiungono più record nella tabella con paesi diversi.

Vedi Group By in Books online

+0

Grazie ha funzionato perfettamente! Segnerà come risposta quando posso. –

+0

Felice di poterti aiutare! –

+0

Si potrebbe anche voler aggiungere "ORDER BY COUNT (*) DESC" se si desidera che vengano restituiti in ordine di frequenza decrescente. – GilM