sql - 自加入 sql 以获得状态明智的总销售额
问题描述
我有两张桌子:
- 在
tab1
,我有用户名、密码、stateofcountry - 在
tab2
,我有用户名,年份,totalsale
年可能2016,2017,2018
。
我想获得任何两年的国家范围内的总销售额比较。
例如:
state:2016:2017
st1 :2345:2345
st2 :237:789
依此类推,对于 tab1 中可用的所有状态
解决方案
如果我理解正确,这是条件聚合:
select t1.stateofcountry,
sum(case when t2.year = 2016 then totalsale else 0 end) as sales_2016,
sum(case when t2.year = 2017 then totalsale else 0 end) as sales_2017
from tab1 t1 join
tab2 t2
on t1.username = t2.username
group by t1.stateofcountry;
推荐阅读
- azure-devops - 以特定用户身份运行容器作业
- opengl - 使用旧版 OpengGL(Windows 的实现 - 1.1)是不好的做法吗?
- python - AttributeError:“str”对象没有属性“set”
- c - 当指针被类型转换时会发生什么?
- excel - 选择随机图表时执行 Sub
- python - 如何仅通过导入模块来加载模型及其常量?
- sql - 在sql查询中将小数转换为[h]:mm
- java - Eclipse:如何导入 VM Arg 变量?
- android - 使用数据绑定时动态填充 LinearLayout 包括
- python-3.x - Python程序中的奇怪输出