在sql中,此查询的语法无效:
select country,city, sum(income) from table1 group by country.
因为该群体期望国家和城市,而不仅仅是国家。 但为什么会这样呢?因为我可能希望结果按国家/地区分组。所以在下表中:
country city income
canada toronto 100
canada montreal 100
us LA 200
us NY 300
如果我想输出:
country city sum( income)
canada toronto 200
canada montreal 200
us LA 500
us NY 500
我的分组条款应该是什么?
答案 0 :(得分:2)
如果您使用的是Sql Server,则可以执行此操作
select
country,
city,
sum(income) over (partition by country)
from
table1
或者,如果您使用的是其他数据库,则可以使用子查询
select
t1.country,
t1.city,
(select sum(t2.income) from table1 t2 where t1.country = t2.country)
from
table1 t1