mysql之多个区间统计

我们现在有个需求,根据不同分数统计对应级别  
大于等于90分的是"A"级别

大于等于80小于等于90是"B"级别

大于等于70小于等于60是"C"级别

小于60是"F"级别

SELECT
    
   stu.grade,
	
	(
	CASE
			
			WHEN (
				isnull( stu.grade )) THEN
					'无' 
					WHEN (
						ifnull(( stu.grade ), 0 ) >= ifnull( 90, 9999 )) THEN
						'A' 
						WHEN ((
								ifnull(( stu.grade ), 0 ) >= ifnull( 80, 9999 )) 
							AND (
								ifnull(( stu.grade ), 0 ) <= ifnull( 90, 9999 ))) THEN 'B' WHEN (( ifnull((stu.grade), 0 ) >= ifnull(70, 9999 )) 
								AND (
									ifnull((stu.grade), 0 ) <= ifnull(80, 9999 ))) THEN 'C' WHEN (( ifnull((stu.grade), 0 ) >= ifnull(60, 9999 )) 
									AND (
									ifnull((stu.grade), 0 ) <= ifnull(70, 9999 ))) THEN 'D' WHEN (( ifnull(( stu.grade), 0 ) < ifnull(60, 9999 ))) THEN
									'F' 
								END 
								) AS `poldSttpType`
								
						FROM
	stu stu;

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值