sql - SQLITE 组合选择结果集
问题描述
我有一张这样的桌子:
|-----------------------------|
|someText | Date | someInteger|
|-----------------------------|
我想要的是选择这样的查询:
|-----------------------------------|
|someText | Jan | Feb | March | ... |
|-----------------------------------|
基本上我想对每个月按 someText 分组的所有 someInteger 求和,也就是
Select Sum(someInteger) From TABLE
Where Date = [month]
GroupBy someText
...然后,如果可能的话,我想将所有 12 个查询合并到一个结果表中,以便于使用并可能进行一些优化。
解决方案
使用条件聚合(假设所有日期都在同一年):
select
someText,
sum(case when strftime('%m', date) = '01' then someInteger end) Jan,
sum(case when strftime('%m', date) = '02' then someInteger end) Feb,
sum(case when strftime('%m', date) = '03' then someInteger end) Mar,
...................................................................
from tablename
group by someText
请参阅演示。
推荐阅读
- forms - 从选择字段接收“无”作为发布请求中的值
- python-3.x - anaconda不管输入什么命令都报同样的错误如何解决
- c# - LINQ:无法使用分组和排序
- vim - 如何在vim-airline的操作员挂起模式下显示重新映射的密钥而不是原始密钥?
- for-loop - 如何在 For 循环中使用日期
- groovy - 如何在“ExecuteGroovyScript”处理器中使用“DBCPConnectionPoolLookup”?
- validation - 如何在spring控制器中将地图验证为@RequestParam
- ios - swift:UIImageView 上的手势识别器不起作用
- react-native - 在 iOS 上的 react-native-material-dropdown 中编辑下划线颜色而不更改箭头和标签颜色
- xcode - Slather 命令执行失败。Xcode、詹金斯、Sonar qube