首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-06-21 
sql语句 查询某条数据在几个阶段的总数1-10是个阶段10-20,20-30这样往后增加我要查询1-10之间的总数10-20

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 

热点排行