case when then else end 的运用:对工资字段进行工资分段统计。

需求如下图:
case when then else end 的运用:对工资字段进行工资分段统计。
首先查出每个工资段的数量:
SELECT
(
CASE
WHEN BEFORETAXSALARY < 3000 THEN
‘3000以下’
WHEN BEFORETAXSALARY BETWEEN 3000
AND 4999 THEN
‘3000-4999’
WHEN BEFORETAXSALARY BETWEEN 5000
AND 6999 THEN
‘5000-6999’
WHEN BEFORETAXSALARY BETWEEN 7000
AND 8999 THEN
‘7000-8999’
ELSE
‘9000以上’
END
) AS ss
FROM
JGOA_SLA_SALARYMAIN;
效果如下:
case when then else end 的运用:对工资字段进行工资分段统计。
把结果作为条件来个子查询结束战斗:
SELECT
A .ss workSalary,
COUNT (A .ss) workSalaryNum
FROM
(
SELECT
(
CASE
WHEN BEFORETAXSALARY < 3000 THEN
‘3000以下’
WHEN BEFORETAXSALARY BETWEEN 3000
AND 4999 THEN
‘3000-4999’
WHEN BEFORETAXSALARY BETWEEN 5000
AND 6999 THEN
‘5000-6999’
WHEN BEFORETAXSALARY BETWEEN 7000
AND 8999 THEN
‘7000-8999’
ELSE
‘9000以上’
END
) AS ss
FROM
JGOA_SLA_SALARYMAIN
) A
GROUP BY
A .ss
效果如下:
case when then else end 的运用:对工资字段进行工资分段统计。