mysql 分段统计数据

一、序言

       数据库用了很久了,期间也遇到过很多麻烦的SQL,以前一直没好好记录,自己也记不住,挺遗憾的,这次分享的是一个简单的分段统计的问题:student 表{id,name,score} 字段,统计各个分数段的人数。

      规则:60以下不及格,60-70差,70-80中,80-90良,90-100优。(好熟悉的感觉....)

    

 

二、代码:

       


SELECT
  sum(CASE when score<60 then 1 else 0 end)   AS '不及格',
  sum(CASE when score>=60 and score<70 then 1 else 0 end)   AS '差',
  sum(CASE when score>=70 and score<80 then 1 else 0 end)   AS '中',
  sum(CASE when score>=80 and score<90 then 1 else 0 end)   AS '良',
  sum(CASE when score>=90 and score<=100 then 1 else 0 end)   AS '优'
from student;

 

 

三、小结:

      1.其实学SQL的时候就写过这些,只是有时候突然别人让你写,有呆了- -

      2.题目比较简单,还有其他比如 分组统计 、 平均值 、行转列等类似的,挺多的,抽时间多整理下吧

      3.有不对的地方请指出,更好的方案可以提出,比如一些函数可以直接统计的,当然考虑效率。

      4.希望朋友遇到比较有特色的SQL 能自己记录并分享出来,我这里以后也会持续记录了,SQL这些除了掌握基本的优化手段以外,很多还是要靠经验积累,平时遇到麻烦的SQL比较少,那么很难得到提升,如果大家都分享出来,然后动手去做,优化,那么相信大家能进步得更快,分享快乐~.~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值