SQL GROUP BY
klausulen brukes i samarbeid med SELECT-setningen til å arrangere identiske data inn i grupper.
GROUP BY-leddet følger WHERE-leddet i en SELECT-setning 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 COLUMN1, column2FROM table_nameWHERE [vilkår] GROUP BY COLUMN1, column2ORDER BY COLUMN1, COLUMN2
Eksempel:
Tenk KUNDER bordet er å ha følgende poster:
+ ---- + ---------- + ----- + --------- - + ---------- + | ID | NAME | AGE | ADRESSE | LØNN | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | Kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 | + ---- + ---------- + ----- + ----------- + ---------- +
Hvis du ønsker å vite den totale mengden av lønn på hver kunde, så GROUP BY spørring vil være som følger:
SQL > Velg Navn, SUM (lønn) KUNDER GROUP BY NAME;
Dette vil gi følgende resultat:
+ ---------- + ------------ - + | NAME | SUM (lønn) | + ---------- + ------------- + | Chaitali | 6500.00 || Hardik | 8500.00 || Kaushik | 2000.00 || Khilan | 1500.00 || Komal | 4500.00 || Muffy | 10000.00 || Ramesh | 2000.00 | + ---------- + ------------- +
Nå, la oss ha følgende tabell der kundene tabellen har følgende poster med like navn:
+ ---- + ---------- + ----- + ----------- + ---------- + | ID | NAME | AGE | ADRESSE | LØNN | + ---- + ---------- + ----- + ----------- + ---------- + | 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Ramesh | 25 | Delhi | 1500.00 || 3 | Kaushik | 23 | Kota | 2000.00 || 4 | Kaushik | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 | + ---- + ---------- + ----- + ----------- + ---------- +
Nå igjen, hvis du ønsker å vite den totale mengden av lønn på hver kunde, så GROUP BY spørring vil være som følger:
SQL > Velg Navn, SUM (lønn) KUNDER GROUP BY NAME;
Dette vil gi følgende resultat:
+ --------- + ------------- + | NAME | SUM (lønn) | + --------- + ------------- + | Hardik | 8500.00 || Kaushik | 8500.00 || Komal | 4500.00 || Muffy | 10000.00 || Ramesh | 3500.00 | + --------- + ------------- +