全部產品
Search
文件中心

OpenSearch:GROUP BY

更新時間:Aug 22, 2026

本文向您介紹了Group By的文法格式、內建UDAF函數及其相關樣本。

描述

Group By用來對一個或者多個欄位彙總,以此算出相應的資料,比如最大值、最小值、平均值等。

文法格式

select:
    SELECT [ ALL | DISTINCT ]
    { * | projectItem [, projectItem ]* }
    FROM tableExpression
    [ WHERE booleanExpression ]
    [ GROUP BY { groupItem [, groupItem ]* } ]
    [ HAVING booleanExpression ]

內建UDAF函數

目前內建的UDAF如下:

序號

函數名

功能

1

SUM

彙總後求和。

2

MIN

彙總後求最小值。

3

MAX

彙總後求最大值。

4

COUNT

統計資料條數。

5

AVG

彙總後計算平均值。

6

ARBITRARY

任意選擇一個輸入值作為結果輸出。

使用者可以通過定製UDAF的方式擴充彙總邏輯。

樣本

  1. sum:

SELECT brand, SUM(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. min:

SELECT brand, MIN(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. max:

SELECT brand, MAX(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. count:

SELECT brand, COUNT(*) FROM phone WHERE nid < 8 GROUP BY brand
  1. avg:

SELECT brand, AVG(price) FROM phone WHERE nid < 8 GROUP BY brand
  1. having子句:

SELECT brand FROM phone GROUP BY brand HAVING COUNT(brand) > 10