扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
sql如下
站在用户的角度思考问题,与客户深入沟通,找到郁南网站设计与郁南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、雅安服务器托管、企业邮箱。业务覆盖郁南地区。
select Name,avg(Score) as 平均分 from tbl group by Name order by avg(Score) desc;
请参考。
如果有帮助到你,请点击采纳。
分组函数,分局函数一共有5种,所有的分组的函数都是对一组数据进行操作的
count(计数)
avg(平均值)
sum(求和)
max(最大值)
min(最小值)
示列代码
select count(需要求条数的字段值) from map;
注意:count会自动忽略null,并不把null算入计数,
在sql的数学表达式中只要参与运算的一个值为null那么整条数据的结果就为null,还有所有的数据库在运算的时候只要有null参与运算结果一定是null比如:
select (aprice+price) from map;(其中的一个值为null)
但是还有一个问题比如price的值为4因为前一个字段值为null所以获得的结果也为null但是我们还需要用到price的值这时候我们就要用到另一个函数ifnull它会把为null的字段值当成0来看这样结果就为4了:
SELECT (IFNULL(aprice,0)+price) FROM map
select avg(需要求平均值的字段值)
from map;
select sum(需要求和字段值) from map;select max(需要求最大值的字段值) from map;select min(需要求最小值的字段值) from map
2.group by 和having
group by :按照某个字段获某些字段对数据进行分组
having :是对你group by 分组后的数据进行过滤,能用where解决的过滤建议用where解决
示列
SELECT address FROM map GROUP BY address HAVING address !='eqeq';
注意:
分组函数一般都会和group by 联合使用任何一个分组函数都在group by 执行之后执行当一条sql语句没有group by 的话整张表会自成一组,还有分组函数不能写在where后面因为group by 是在where执行之后执行的
DQL语句执行顺序
5.select
1.from
2.where
3.group by
4.having
6.order by
3.去重 distinct去除重复记录
SELECT DISTINCT 字段值 FROM 表;
错误示列
SELECT 返回值,DISTINCT 字段值 FROM 表;
记住:distinct必须出现在所有字段的最前面,如果
如果你要查询所有的列 只按name分组 会报错的 所有都要根据type,name,guest,date 分组select type,name guest date from table order by date desc group by name,type,guest
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流