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