SQLite如何基于一个列对列求和并基于不同的列进行分组

yx2lnoni  于 2023-04-30  发布在  SQLite
关注(0)|答案(1)|浏览(158)

例如,表TableQ看起来像这样:
| 项目|价格|标签|
| --------------|--------------|--------------|
| 项目A|二|X|
| 项目A|四|Y|
| 项目B|1|Z轴|
我希望我的输出是这样的:
| 项目|价格|标签|
| --------------|--------------|--------------|
| 项目A|六|X|
| 项目A|六|Y|
| 项目B|1|Z轴|
当我尝试
从表Q中选择distinct * 作为Q1左连接(选择sum(Q2.Price)as PriceSum from TableQ as Q2)
我明白
| 项目|价格|标签|价格总和|
| --------------|--------------|--------------|--------------|
| 项目A|二|X|七|
| 项目A|四|Y|七|
| 项目B|1|Z轴|七|

6ioyuze2

6ioyuze21#

由于version 3.25.0 (2018-09-15) SQLite支持窗口函数:

SELECT Item,
       SUM(Price) OVER (PARTITION BY Item) AS Price,
       Tag 
FROM TableQ;

参见demo

相关问题