【问题标题】:Select Sum and multiple columns in 1 select statement在 1 个 select 语句中选择 Sum 和多个列
【发布时间】:2023-03-09 17:32:01
【问题描述】:

有没有办法在SQL中同时选择一列和其他列的总和?

例子:

SELECT sum(a) as car,b,c FROM toys

【问题讨论】:

    标签: sql database tsql select sum


    【解决方案1】:

    怎么样:

    select sum(a) over(), b, c from toy;
    

    或者,如果需要:

    select sum(a) over(partition by b), b, c from toy;
    

    【讨论】:

      【解决方案2】:
      SELECT b,
       c,
       (SELECT sum(a) FROM toys) as 'car'
      FROM toys
      

      【讨论】:

      • 如果我的列 b 和 c 被基于 where 条件检索会发生什么?
      【解决方案3】:

      尝试添加 GROUP BY

      SELECT sum(a) as car,b,c FROM toys 
      GROUP BY b, c
      

      【讨论】:

      • 分组有效,但如果我在最后使用 Where 子句会发生什么?
      • 你不要在最后添加 where 子句,你在应该添加的地方添加 where 子句
      • where 子句在 group by 之前,不会发生任何不好的事情,结果集将被过滤并对其求和。
      • 你应该注意的一件事是:在选择部分只允许聚合函数和分组显示的字段
      【解决方案4】:

      由于您没有提供太多上下文,我假设您的意思是以下之一:

      SELECT (SELECT SUM(a) FROM Toys) as 'car', b, c FROM Toys;
      

      SELECT SUM(a) as Car, b, c FROM Toys GROUP BY b, c;
      

      【讨论】:

      • 你是什么意思?你必须把它放在 Toys 和 GROUP 之间,比如:SELECT ... FROM Toys WHERE .... GROUP BY b, c;
      • 我认为@tdjfdjdj 是在谈论第一个例子。你最终会在其中使用两个 where 子句......!!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 2014-01-31
      • 2020-01-18
      • 2022-11-11
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多