sammanfattning: i den här handledningen lär du dig hur du använder Oracle GROUP BY
– klausulen för att gruppera rader i grupper.
introduktion till Oracle GROUP efter klausul
klausulenGROUP BY
används i ettSELECT
– uttalande för att gruppera rader i en uppsättning sammanfattningsrader med värden för kolumner eller uttryck. KlausulenGROUP BY
returnerar en rad per grupp.,
klausulenGROUP BY
används ofta med aggregerade funktioner som AVG()
, COUNT()
, MAX()
, MIN()
och SUM()
. I det här fallet returnerar den aggregerade funktionen sammanfattningsinformationen per grupp. Till exempel returnerar funktionen AVG()
det genomsnittliga priset för produkter i varje kategori.,
följande visar syntaxen för OracleGROUP BY
klausul:
klausulen GROUP BY
visas efter klausulen FROM
., Om WHERE
– klausulen presenteras måste GROUP BY
– klausulen placeras efter klausulen WHERE
som visas i följande fråga:
klausulen GROUP BY
grupperar rader med värden i grupperingskolumnerna som t.ex. som c1
, c2
och c3
. KlausulenGROUP BY
får endast innehålla aggregat eller gruppera kolumner.,
om du vill ange flera grupperingsnivåer som ska beräknas på en gång använder du följande ROLLUP
syntax:
kolla in ROLLUP
handledning för mer information.,
detta uttalande har samma effekt som följande uttalande som använder DISTINCT
operator:
B) Oracle GROUP BY med ett aggregerat funktionsexempel
följande uttalande returnerar antalet beställningar från
i det här exemplet grupperade vi beställningar av kunder och använde funktionen COUNT()
för att returnera antalet beställningar per grupp.,
för att få mer meningsfulla data kan du ansluta till tabellen orders
med tabellen customers
enligt följande:
här är resultatet:
C) Oracle group by med ett uttrycksexempel
följande exempel grupperar beställningarna efter år och returnerar antalet beställningar per år.
i det här exemplet använde vi funktionen EXTRACT()
för att få årsinformation från orderns datum.,
Till skillnad från tidigare exempel använde vi ett uttryck som returnerar året i GROUP BY
– klausulen.,Följande bild illustrerar resultatet:
D) Oracle GROUP BY med WHERE clausexample
det här exemplet använder klausulen GROUP BY
med en WHERE
div id=”
Observera att Oracle alltid utvärderar tillståndet iWHERE
– klausulen föreGROUP BY
klausul.,
E) Oracle GROUP BY med samlad exempel
följande uttalande beräknar försäljningsbeloppet och grupperar dem med customer_id
, status
, och (customer_id
, status
):
i den här handledningen har du lärt dig hur du använder Oracle GROUP BY
för att gruppera rader i grupper.
- var den här handledningen till hjälp?
- YesNo