作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要根据不同的条件在同一个查询中获得两个求和。两个条件都在同一列上运行。
有没有办法做到这一点?
我可以用一个例子来最好地解释这一点:
Table : salary_survey_result
Columns: industry, location, position, salary
SELECT industry, location, count(*) as MORE_THAN_SIX_FIGURE
FROM salary_survey_result
WHERE salary > 100000
GROUP BY industry, location
SELECT industry, location, count(*) as MORE_THAN_FIVE_FIGURE
FROM salary_survey_result
WHERE salary > 10000
GROUP BY industry, location
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
最佳答案
就像是
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
WHERE salary >= 10000
结果不需要子句。如果
SALARY
上有索引,可能会提高性能并且大多数薪水值小于 10000。请注意,我还假设您的意思是
>=
而不是
>
因为 10,000 的薪水是五位数的薪水。
关于sql - 一个查询中有两个 WHERE & COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934001/
我是一名优秀的程序员,十分优秀!