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 WHEREdiv 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