标签:
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!
首先所有的SQL实例使用到下面的一张表
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
SQL AVG
AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
语法
SELECT AVG(column_name) FROM table_name
例子1,计算“OrderPrice”字段的平均值
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders
结果如下
OrderAverage |
---|
950 |
例子2,找出OrderPrice 值高于 OrderPrice平均值的客户
SELECT Customer FROM Orders WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)
结果如下
Customer |
---|
Bush |
Carter |
Adams |
SQL COUNT
COUNT()函数返回匹配指定条件的行数(NULL不计入)
SELECT COUNT(column_name) FROM table_name
SQL COUNT(*)返回表中的记录数
SELECT COUNT(*) FROM table_name
SQL COUNT(DISTINCT column_name)返回指定列的不同值的数目
SELECT COUNT(DISTINCT column_name) FROM table_name
注意:COUNT(DISTINCT)适用于ORACLE和SQL SERVER, 但是无法用于ACCESS
实例1,计算客户“Carter”的订单数
SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer=‘Carter‘
以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:
CustomerNilsen |
---|
2 |
实例2,使用COUNT(*)获取表中的总行数
SELECT COUNT(*) AS NumberOfOrders FROM Orders
结果集类似这样:
NumberOfOrders |
---|
6 |
实例3,使用COUNT(DISTINCT column_name)计算“Orders”表中不同客户的数目
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders
结果集类似这样:
NumberOfCustomers |
---|
3 |
这是 "Orders" 表中不同客户(Bush, Carter 和 Adams)的数目。
SQL FIRST
FIRST() 函数返回指定的字段中第一个记录的值
可以使用 ORDER BY 语句对记录进行排序
语法
SELECT FIRST(column_name) FROM table_name
实例,找出“OrderPrice”列的第一个值
SELECT FIRST(OrderPrice) AS FirstOrderPrice FROM Orders
结果集类似这样:
FirstOrderPrice |
---|
1000 |
SQL LAST
LAST() 函数返回指定的字段中最后一个记录的值
可使用 ORDER BY 语句对记录进行排序
语法
SELECT LAST(column_name) FROM table_name
实例,查找出 “OrderPrice”列中的最后一个值
SELECT LAST(OrderPrice) AS LastOrderPrice FROM Orders
结果集类似这样:
LastOrderPrice |
---|
100 |
SQL MAX
MAX() 函数返回一列中的最大值。NULL值不包括在计算中
语法
SELECT MAX(column_name) FROM table_name
MIN 和 MAX 也可以用于文本列,以获得按字母排序排列的最高或最低值
实例,查找出“OrderPrice”列的最大值
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders
结果集类似这样:
LargestOrderPrice |
---|
2000 |
SQL MIN
MIN() 函数返回一列中的最小值。NULL值不包括在计算中
语法
SELECT MIN(column_name) FROM table_name
MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
实例,找出“OrderPrice”列中的最小值
SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders
结果集类似这样:
SmallestOrderPrice |
---|
100 |
SQL SUM
SUM() 函数返回数值列的总数
语法
SELECT SUM(column_name) FROM table_name
实例,查找出“OrderPrice”字段的总数
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders
结果集类似这样:
OrderTotal |
---|
5700 |
5700= 1000+1600+700+300+2000+100
SQL合计函数(avg、count、first、last、max、min、sum)
标签:
原文地址:http://www.cnblogs.com/xumenger/p/4483807.html