我需要根据不同的标准在同一个查询中得到两个求和.两个标准都在同一列上运行.有没有办法做到这一点?
我最好用一个例子解释一下:
表:salary_survey_result
专栏:行业,地点,职位,薪水
实际上我想要结合以下两个查询:
SELECT industry, location, count(*) as MORE_THAN_SIX_FIGURE
FROM salary_survey_result
WHERE salary > 100000
GROUP BY industry, location
Run Code Online (Sandbox Code Playgroud)
和
SELECT industry, location, count(*) as MORE_THAN_FIVE_FIGURE
FROM salary_survey_result
WHERE salary > 10000
GROUP BY industry, location
Run Code Online (Sandbox Code Playgroud)
所以结果是这样的:
industry location MORE_THAN_FIVE_FIGURE MORE_THAN_SIX_FIGURE
Healthcare NY 45 10
Healthcare MN 35 6
InfoTech NY 50 19
InfoTech MN 40 12
Run Code Online (Sandbox Code Playgroud)
就像是
SELECT industry,
location,
sum( case when salary >= 10000 then 1 else 0 end) as MORE_THAN_FIVE_FIGURE,
sum( case when salary >= 100000 then 1 else 0 end) as MORE_THAN_SIX_FIGURE
FROM salary_survey_result
WHERE salary >= 10000
GROUP BY industry, location
Run Code Online (Sandbox Code Playgroud)
该WHERE salary >= 10000条款对于结果不是必需的.如果有一个索引SALARY并且大多数工资值小于10000,它可能会提高绩效.请注意,我也假设你的意思是,>=而不是>因为10,000的薪水是五位数的薪水.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |