字段进行分组等"/>
crud之sql语句按照没有的字段进行分组等
在一些项目中我们会遇见让你按没有的字段进行分组,间接求一些别的字段 下面举例简单讲解一下
姓名 升班率 学生未事故率 工作完成率 自学能力
彭万里 10 89 98 60
高大山 8 93 78 50
简单两行
字段名为 name,sb,sg,wc,zx 表名kpi
比如:根据姓名字数进行分组,每组取KPI最高的员工
这里的’姓名字数’就是没有的字段,所以要先查询表把’姓名字数’的字段查出来
第一步:查询表把’姓名字数’的字段查出来
select length(name)leng,* from kpi
第二步: 按照在上一张表的基础上 按’姓名字段分组’
select leng,max(sb0.1+sg0.3+wc0.4+zx0.2)kpi from (select length(name)leng,* from kpi) group by leng
第三步:两张表联查,把相同的字段做相等处理
select t1.* from (select length(name)leng,* from kpi)t1,(select leng,max(sb0.1+sg0.3+wc0.4+zx0.2)kpi from (select length(name)leng,* from kpi) group by leng)t2 where t1.leng = t2.leng and t1.sb0.1+t1.sg0.3+t1.wc0.4+t1.zx0.2=t2.kpi
就ok了 仅供参考
更多推荐
crud之sql语句按照没有的字段进行分组等
发布评论