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了 仅供参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值