SQL总和按字段分组并包含所有行

暗杀者

我有这张桌子:

id  sale_id  price
-------------------
1     1       100
2     1       200
3     2       50 
4     3       50

我想要这个结果:

id  sale_id  price  sum(price by sale_id)
------------------------------------------
1     1       100    300
2     1       200    300
3     2       50      50
4     3       50      50

我尝试了这个:

SELECT id, sale_id, price, 
(SELECT sum(price) FROM sale_lines GROUP BY sale_id) 
FROM sale_lines

但是得到子查询返回不同行数的错误。我该怎么做?

我希望sale_lines表的所有行选择所有字段并添加按sale_id分组的总和(价格)。

Yogesh Sharma

您可以使用窗口功能:

sum(price) over (partition by sale_id) as sum

如果要子查询,则需要将它们关联:

SELECT sl.id, sl.sale_id, sl.price, 
       (SELECT sum(sll.price) 
        FROM sale_lines sll 
        WHERE sl.sale_id = sll.sale_id 
        ) 
FROM sale_lines sl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TSQL按总数求和>-包含'%x%'> y的所有产品的总和,拉出分组的keyid-Volusion-SQL Server 2008

来自分类Dev

按查询分组,总和所有值

来自分类Dev

获取按 SQL Server 中不同字段分组的总和

来自分类Dev

SQL字段中所有值的总和

来自分类Dev

按条件分组选择所有行

来自分类Dev

对所有结果按SQL Server分组

来自分类Dev

Sql分组按每组总和

来自分类Dev

mongodb聚合按日期获取所有字段总和

来自分类Dev

按计数(字段)排序,但在答案中包含所有行

来自分类Dev

查询以获取按字段值分组的所有行以及另一个字段的条件

来自分类Dev

更新按日期分组且两个条件匹配的所有行 - SQL Server 2016

来自分类Dev

修改 SQL 以包含所有注册的累积总和

来自分类Dev

SQL获取按最新修改的行排序的分组字段

来自分类Dev

按列分组数据并显示符合条件的所有行

来自分类Dev

mysql - 按列分组但显示所有行

来自分类Dev

按联合分组所有结果SQL Server

来自分类Dev

SQL如何按分组显示所有记录

来自分类Dev

SQL(sqlite)比较按另一个重复行分组的行总和

来自分类Dev

SQL Server:按组标题分组,组总和与总和

来自分类Dev

SQL查询:总和,表中所有可能的行组合

来自分类Dev

无法获取 sql 中所有相似行的总和

来自分类Dev

(My)SQL:按给定字段对行进行分组,并强制在分组行中使用最新数据

来自分类Dev

按地图项分组并找到计数总和字段-Mongodb 3.6.9

来自分类Dev

获取按特定字段分组的每个月的价值总和

来自分类Dev

Excel计算包含某些字段的某些值的所有行

来自分类Dev

使用PDO提取按特定列分组的所有行,然后选择所有列

来自分类Dev

将总和添加到pandas数据框中的所有分组行

来自分类Dev

按行分组的SQL联合

来自分类Dev

仅显示按特定行分组的所有数据:从具有column ='value'的按列分组的表中选择*

Related 相关文章

  1. 1

    TSQL按总数求和>-包含'%x%'> y的所有产品的总和,拉出分组的keyid-Volusion-SQL Server 2008

  2. 2

    按查询分组,总和所有值

  3. 3

    获取按 SQL Server 中不同字段分组的总和

  4. 4

    SQL字段中所有值的总和

  5. 5

    按条件分组选择所有行

  6. 6

    对所有结果按SQL Server分组

  7. 7

    Sql分组按每组总和

  8. 8

    mongodb聚合按日期获取所有字段总和

  9. 9

    按计数(字段)排序,但在答案中包含所有行

  10. 10

    查询以获取按字段值分组的所有行以及另一个字段的条件

  11. 11

    更新按日期分组且两个条件匹配的所有行 - SQL Server 2016

  12. 12

    修改 SQL 以包含所有注册的累积总和

  13. 13

    SQL获取按最新修改的行排序的分组字段

  14. 14

    按列分组数据并显示符合条件的所有行

  15. 15

    mysql - 按列分组但显示所有行

  16. 16

    按联合分组所有结果SQL Server

  17. 17

    SQL如何按分组显示所有记录

  18. 18

    SQL(sqlite)比较按另一个重复行分组的行总和

  19. 19

    SQL Server:按组标题分组,组总和与总和

  20. 20

    SQL查询:总和,表中所有可能的行组合

  21. 21

    无法获取 sql 中所有相似行的总和

  22. 22

    (My)SQL:按给定字段对行进行分组,并强制在分组行中使用最新数据

  23. 23

    按地图项分组并找到计数总和字段-Mongodb 3.6.9

  24. 24

    获取按特定字段分组的每个月的价值总和

  25. 25

    Excel计算包含某些字段的某些值的所有行

  26. 26

    使用PDO提取按特定列分组的所有行,然后选择所有列

  27. 27

    将总和添加到pandas数据框中的所有分组行

  28. 28

    按行分组的SQL联合

  29. 29

    仅显示按特定行分组的所有数据:从具有column ='value'的按列分组的表中选择*

热门标签

归档