本文向您介绍了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的方式扩展聚合逻辑。
示例
sum:
SELECT brand, SUM(price) FROM phone WHERE nid < 8 GROUP BY brand
min:
SELECT brand, MIN(price) FROM phone WHERE nid < 8 GROUP BY brand
max:
SELECT brand, MAX(price) FROM phone WHERE nid < 8 GROUP BY brand
count:
SELECT brand, COUNT(*) FROM phone WHERE nid < 8 GROUP BY brand
avg:
SELECT brand, AVG(price) FROM phone WHERE nid < 8 GROUP BY brand
having子句:
SELECT brand FROM phone GROUP BY brand HAVING COUNT(brand) > 10
该文章对您有帮助吗?
- 本页导读 (1)
- 描述
- 语法格式
- 内置UDAF函数
- 示例