--1: AVG(DISTINCT|ALL)
ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值
SELECT AVG(SAL) FROM SCOTTEMP;
SELECT AVG(DISTINCT SAL) FROM SCOTTEMP;
--2: MAX(DISTINCT|ALL)
求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次
(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)
SELECT MAX(DISTINCT SAL) FROM SCOTTEMP;
SELECT MAX(SAL) FROM SCOTTEMP
--3: MIN(DISTINCT|ALL)
求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次
SELECT MIN(SAL) FROM SCOTTEMP;
SELECT MIN(DISTINCT SAL) FROM SCOTTEMP;
--4: STDDEV(distinct|all)
求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差
SELECT STDDEV(SAL) FROM SCOTTEMP;
SELECT STDDEV(DISTINCT SAL) FROM SCOTTEMP;
--5: VARIANCE(DISTINCT|ALL)
求协方差 ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差
SELECT VARIANCE(SAL) FROM SCOTTEMP;
SELECT VARIANCE(DISTINCT SAL) FROM SCOTTEMP;
--6: SUM(DISTINCT|ALL)
求和 ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次)
SELECT SUM(SAL) FROM SCOTTEMP;
SELECT SUM(DISTINCT SAL) FROM SCOTTEMP;
--7:COUNT(DISTINCT|ALL)
求记录、数据个数。 ALL对所有记录,数组做统计, DISTINCT只对不同值统计(相同值只取一次)
SELECT COUNT(SAL) FROM SCOTTEMP;
SELECT COUNT(DISTINCT SAL) FROM SCOTTEMP;
----8: MEDIAN
求中位数
SELECT MEDIAN(SAL) FROM SCOTTEMP;
SELECT MEDIAN(DISTINCT SAL) FROM SCOTTEMP; --错误:DISTINCT 选项在此函数中禁用。
聚合函数
就和名字一样,
聚合,
也就是把多行数据,
合并成一行
例如:
SUM
合计
COUNT
计数
MAX
最大
MIN
最小
AVG
平均
还有很多
非聚合函数
也和名字一样,
非聚合,
也就是
一次处理一行数据的,
不是将
多行合并成一样的
例如
ABS
绝对值
LEN
字符串长度
这个就更多了
聚合函数
就和名字一样, 聚合, 也就是把多行数据, 合并成一行
例如: SUM 合计 COUNT 计数 MAX 最大 MIN 最小 AVG 平均 还有很多
非聚合函数
也和名字一样, 非聚合, 也就是 一次处理一行数据的, 不是将 多行合并成一样的
例如 ABS 绝对值 LEN 字符串长度 这个就更多了
GROUP BY是按照什么分组,聚合函数,就是求取按照GROUP BY分组之后的聚合函数得到的值。\x0d\那么GROUP BY后边,可想而知,一定是语法中除了聚合函数之外,所以的字段了。\x0d\比如我们求和,使用SUM,表例如是员工表,部门表,员工表有员工编号,员工名,薪资,部门编号,部门表包含部门编号和部门名,求每个部门的薪资总额。\x0d\SELECT 部门名称, SUM(薪资) FROM 员工表, 部门表 WHERE 员工表部门编号 = 部门表部门编号 GROUP BY 部门名称\x0d\另外使用COUNT聚合函数计算每个部门的员工数量\x0d\SELECT 部门名称, COUNT(员工编号) FROM 员工表, 部门表 WHERE 员工表部门编号 = 部门表部门编号 GROUP BY 部门名称\x0d\\x0d\另外如果是全表检索的情况下,比如求所有部门的员工总人数,是不需要GROUP BY的\x0d\SELECT COUNT() from 员工表
SQL语句函数baicount(),如果括号中是列名称,是忽略空值NULL的,即返回列的值的数目,不包含NULL值。
COUNT函数,用于Excel中对给定数据集合或者单元格区域中数据的个数进行计数,其语法结构为COUNT(value1,value2, )。COUNT函数只能对数字数据进行统计,对于空单元格、逻辑值或者文本数据将被忽略,因此可以利用该函数来判断给定的单元格区域中是否包含空单元格。
扩展资料:
如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。具体如下:
如果参数为数字、日期或者代表数字的文本(例如,用引号引起的数字,如 "1"),则将被计算在内。
逻辑值和直接键入到参数列表中代表数字的文本被计算在内。
如果参数为错误值或不能转换为数字的文本,则不会被计算在内。
如果参数为数组或引用,则只计算数组或引用中数字的个数。不会计算数组或引用中的空单元格、逻辑值、文本或错误值。
还是想快点写完,进入下一个PowerBI专题了,应该后面再写五篇左右,就开始PowerBI系列了,然后会加一些SQL的综合使用案例。窗口函数写三篇就差不多了,后面应该还会加一些综合案例。这一篇主要介绍一下聚合函数和NTH_VALUE、NTILE函数,聚合函数和配上窗口函数使用场景还是很多,这个可以稍微 关注一下。
NTH_VALUE
NTH_VALUE(EXP,N),返回窗口中第N个EXP的值,EXP可以是表达式,也可以是列名。继续用之前的数据,取出每个用户的第二次购买的日期,SQL语句如下
从结果很明显看出,第一次购买日期是空值,从第二个购买日期开始,都是第二条购买日期记录。
NTLIE
NTILE(N),将分区中的有序数据分为n个桶,记录桶号。现在需要根据金额高低,把每个分区分成3组,SQL和结果如下
聚合函数
聚合函数参考这一篇, 《MySQL聚合函数》 。通过聚合函数作为窗口函数运算,可以动态计算在指定的窗口内的各种聚合函数值。计算每个用户,按时间排序,截止每个时间的订单数量、订单金额、平均金额、最大金额、最小金额。SQL语句和结果如下
End
SQL SERVER中聚合函数主要有:
(1)求员工总人数
(2)求最大值,求最高工资
(3)求最小时,求最小工资
(4)求和,求所有员工的工资总和
(5)求平均值,求所有员工的平均工资
ROUND函数用法:
(6)求数量,最大值,最小值,总和,平均值,在一行显示
(7)查询出武汉地区的员工人数,总工资,最高工资,最低工资和平均工资
(8)求出工资比平均工资高的人员信息
(9)求数量,年龄最大值,年龄最小值,年龄总和,年龄平均值,在一行显示
(10)计算出月薪在10000 以上的男性员工的最大年龄,最小年龄和平均年龄
(11)统计出所在地在“武汉或上海”的所有女员工数量以及最大年龄,最小年龄和平均年龄
(12)求出年龄比平均年龄高的人员信息
GETDATE() 返回当前的日期和时间
DATEPART() 返回日期/时间的单独部分
DATEADD() 返回日期中添加或减去指定的时间间隔
DATEDIFF() 返回两个日期直接的时间
DATENAME() 返回指定日期的指定日期部分的整数
CONVERT() 返回不同格式的时间
示例:
时间格式控制字符串:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)