SQLite GROUP BY
klausulen brukes i samarbeid med SELECT-setningen til å arrangere identiske data i grupper
GROUP BY-leddet følger WHERE-leddet i en SELECT uttalelse, og forut ORDER BY-leddet
Syntax.
Den grunnleggende syntaksen i GROUP BY-leddet er gitt nedenfor. GROUP BY-leddet må følge vilkårene i WHERE-leddet og må komme før ORDER BY-leddet hvis man er vant.
SELECT kolonne-listFROM table_nameWHERE [vilkår] GROUP BY COLUMN1, COLUMN2 .... columnNORDER BY COLUMN1, COLUMN2. ... columnN
Du kan bruke mer enn én kolonne i GROUP BY-leddet. Sørg uansett kolonnen du bruker til gruppen, bør den kolonnen være tilgjengelig i kolonnelisten
Eksempel:.
Tenk COMPANY bordet er å ha følgende poster:
ID Navn Alder ADRESSE LØNN ---------- ---------- ---------- ---------- --------- -1 Paul 32 California 20000,02 Allen 25 Texas 15000,03 Teddy 23 Norge 20000,04 Mark 25 Rich-Mond 65000,05 David 27 Texas 85000,06 Kim 22 Sør-Hall 45000,07 James 24 Houston 10000,0
Hvis du ønsker å vite den totale mengden av lønn på hver kunde Da GROUP BY spørring vil være som følger:
sqlite > Velg Navn, SUM (lønn) Fra KONSERN PÅ NAVN;
Dette vil gi følgende resultat:
NAVN SUM (lønn) ---------- ---------- -Allen 15000.0David 85000.0James 10000.0Kim 45000.0Mark 65000.0Paul 20000.0Teddy 20000,0
Nå, la oss lage tre flere poster i COMPANY tabellen ved hjelp av følgende INSERT-setninger:
INSERT INTO selskapsverdiene (8, 'Paul', 24 'Houston', 20000.00); INSERT INTO selskapsverdiene (9 'James', 44 'Norge', 5000.00); INSERT INTO selskapsverdiene (10, 'James', 45 'Texas', 5000.00);
Nå har vårt bord følgende poster med like navn:
ID Navn Alder ADRESSE LØNN ---------- ---------- --------- - ---------- ---------- 1 Paul 32 California 20000,02 Allen 25 Texas 15000,03 Teddy 23 Norge 20000,04 Mark 25 Rich-Mond 65000,05 David 27 Texas 85000,06 Kim 22 Sør-Hall 45000,07 James 24 Houston 10000,08 Paul 24 Houston 20000,09 James 44 Norge 5000,010 James 45 Texas 5000,0
Igjen, la oss bruke den samme setningen til gruppe av alle poster med NAVN kolonne som følger:
sqlite > Velg Navn, SUM (lønn) Fra KONSERN PÅ NAVN ORDER BY NAVN;
Dette vil gi følgende resultat:
NAVN SUM (lønn) ---------- ------ ----- Allen 15000David 85000James 20000Kim 45000Mark 65000Paul 40000Teddy 20000
La oss bruke ORDER BY-ledd sammen med GROUP BY-ledd som følger:
sqlite > Velg Navn, SUM (lønn) Fra KONSERN PÅ NAVN ORDER BY Navn synkende;
Dette vil gi følgende resultat:
NAVN SUM (lønn) ---------- ----- ------ Teddy 20000Paul 40000Mark 65000Kim 45000James 20000David 85000Allen 15000