当前位置: 代码迷 >> Sql Server >> sql话语 查询某条数据在几个阶段的总数
  详细解决方案

sql话语 查询某条数据在几个阶段的总数

热度:17   发布时间:2016-04-27 12:18:26.0
sql语句 查询某条数据在几个阶段的总数
1-10是个阶段10-20,20-30这样往后增加 我要查询1-10之间的总数10-20之间的总数  
SELECT COUNT('level') FROM user_role WHERE `level` BETWEEN 1 AND 10 UNION 
SELECT COUNT('level') FROM user_role WHERE `level` BETWEEN 10 AND 20
这样写阶段多了 要加很多 如何写更简洁

------解决方案--------------------
SQL code
DECLARE @TB TABLE([Level] INT)INSERT INTO @TBSELECT 20 UNION ALLSELECT 21 UNION ALLSELECT 3 UNION ALLSELECT 5 UNION ALLSELECT 6 UNION ALLSELECT 10 UNION ALLSELECT 11 SELECT 级别,COUNT([Level]) LEVEL_COUNT FROM (SELECT [Level],CASE WHEN ([Level]%10<>0) THEN ([Level]/10+1) ELSE ([Level]/10) END AS '级别' FROM @TB)XGROUP BY 级别--------结果级别   LEVEL_COUNT1    42    23    1
  相关解决方案