mysql中不同列的case语句[重复]
Posted
技术标签:
【中文标题】mysql中不同列的case语句[重复]【英文标题】:Case statement for different columns in mysql [duplicate] 【发布时间】:2016-03-28 19:46:06 【问题描述】:我想创建一个表格,其中行和 3 列的年份为每年收入低于 500k、500k 和 1M 之间、大于 1M 的项目数。我被告知要尝试案例陈述,但我真的无法完成。我正在使用 mysql
我的字段是财政年度和 AdjRevenue1YCommited from financials_tbl。
我开始的目标是只获得 3 列(年,低于 500,介于 500 和 1M 之间)
select fiscalYear,
Case
When AdjRevenue1YCommited < 500000 then count(AdjRevenue1YCommited)
Else null
end as b500,
Case
When AdjRevenue1YCommited between 500000 and 1000000 then count(AdjRevenue1YCommited)
Else null
end as a500
from financials_tbl
group by fiscalYear
【问题讨论】:
【参考方案1】:试试这个:
select fiscalYear,
sum(AdjRevenue1YCommited < 500000) as b500,
sum(AdjRevenue1YCommited between 500000 and 1000000) as a500
from financials_tbl
group by fiscalYear
【讨论】:
Giorgos 您的回答有效,但我不明白您为什么使用 Sum 而不是 count。计数在两列中带来相同的值,这是错误的 @FedericoSanchez 使用SUM
,每次括号内的谓词为真时,结果加1。使用的谓词完全不同,所以我看不出结果如何相同。以上是关于mysql中不同列的case语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章