【问题标题】:Summing three values of one column and inserting it in another column in SQL Server 2008 R2将一列的三个值相加并将其插入 SQL Server 2008 R2 中的另一列
【发布时间】:2014-07-23 07:36:54
【问题描述】:

我有一张这样的桌子:

(ID)---(count)----(SumCount)

每个 ID 我有三行(三个计数),我想对它们求和并将它们插入到 sumCount 按其 ID 分组。

我的理想结果是每个 ID 一行,每个 ID 的 SumCount。

我必须将表连接到自身吗?

Update Mytable
set sumCount = (select sum(count) as SumCount from Mytable group by ID) 

问题是:它不只给出一个值,我得到了错误

【问题讨论】:

    标签: sql sql-server sql-server-2008 join


    【解决方案1】:
    Update Yourtable
    set sumCount=z.SumCount
    From (select ID, sum(count) as SumCount 
          from Yourtable 
          groub by ID
         )z
    where YourTable.Id = Z.ID
    

    【讨论】:

    • 没错,但我不知道为什么 z 别名不包含 id 列。我收到此错误:列名“ID”无效。它还在最后一行 Z.ID 下划线表示 z 别名没有 ID 列!!!但它给了 SumCount 作为推荐
    • 感谢您的评论。我忘记在查询中添加 ID。
    【解决方案2】:

    我认为这工作正常。
    尝试并响应

    Update Mytable M1
      set sumCount=(select sum(count) from Mytable M2 WHERE M1.ID=M2.ID)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      相关资源
      最近更新 更多