sqlserver中聚合函数

/*
聚合函数
*/
SELECT COUNT(*),
AVG(stuAge),
SUM(stuAge) / COUNT(stuAge),
SUM(stuAge),
MAX(stuAge),
MIN(stuAge) 
FROM 
student
 
SELECT * FROM student
/*
需要注意的
NUll不计算在内,如下示例
*/
SELECT COUNT(schoolName),COUNT(hobby), COUNT(*) FROM student
/*
分组和聚合函数同时使用,看下面示例
要显示其他列,必须使用那个列进行分组GROUP BY
*/
SELECT groupId, stuAddress, AVG(stuAge) 
FROM 
student
GROUP BY
groupId,stuAddress
--
SELECT * FROM student
--
SELECT groupId, AVG(stuAge) 
FROM 
student
GROUP BY
groupId
HAVING AVG(stuAge) >=25
/*
where 和 having 的区别
where 对表中的原始数据进行的筛选
having 对分组后使用聚合函数计算后的数据进行的筛选,与GROUP BY结合使用
*/
SELECT groupId, AVG(stuAge) 
FROM 
student
WHERE 
stuAge > 20
GROUP BY
groupId
HAVING 
AVG(stuAge) >=25

/*
in可以用or代替
*/
--使用or关键字
SELECT * FROM student WHERE stuAge = 18 OR stuAge = 27 OR stuAge = 26
--使用in关键字
SELECT * FROM student WHERE stuAge IN (18, 27, 26)
--使用BETWEEN AND 关键字
SELECT * FROM student WHERE stuAge BETWEEN 18 AND 27
--
SELECT * FROM student WHERE stuAge >= 18 AND stuAge <= 27
/*
如果要把某列显示在使用聚合函数的列
中,那么必须对他进行GROUP BY分组
*/
SELECT * FROM student WHERE NOT stuAge = 18
SELECT * FROM student WHERE stuAge <> 18
SELECT * FROM student WHERE stuAge != 18
SELECT * FROM student WHERE NOT (stuAge = 18)
SELECT * FROM student WHERE (NOT stuAge = 18)
SELECT * FROM student WHERE (stuAge <> 18)
SELECT * FROM student WHERE (stuAge != 18)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值