您的位置:首页 > 数据库

SQL区间查询的用户数

2015-10-20 10:56 253 查看
查找用户数(1)
SELECT
SUM(CASE WHEN sm>=1 AND sm<=100 THEN 1 ELSE 0  END) AS sm_1_100,
SUM(CASE WHEN sm>=101 AND sm<=200 THEN 1 ELSE 0  END) AS sm_101_200,
SUM(CASE WHEN sm>=200 THEN 1 ELSE 0  END) AS sm_200_M
FROM(
SELECT
userid,SUM(money)/100 as sm
FROM
order
GROUP BY userid
) A;
查找用户数(2)
SELECT
COUNT(DISTINCT CASE WHEN sm>=1 AND sm<=100 THEN userid ELSE null  END) AS sm_1_100,
COUNT(DISTINCT CASE WHEN sm>=101 AND sm<=200 THEN userid ELSE null  END) AS sm_101_200,
COUNT(DISTINCT CASE WHEN sm>=200 AND  sm<=99 THEN userid ELSE null  END) AS sm_200_M,
FROM(
SELECT
userid,SUM(money)/100 as sm
FROM
order
GROUP BY userid
) A;


相比较上面(1)速度要快很多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: