【问题标题】:How do I join a select distinct to a select sum?如何将选择不同的选择加入选择总和?
【发布时间】:2009-02-18 14:56:04
【问题描述】:

我正在尝试将 select disinct 语句加入到 select sum 语句中。这是数据的示例

CD  STDATE    ENDDATE   PR
F1  01/02/09  01/04/09  $10
F1  01/02/09  01/04/09  $40
F1  01/02/09  01/04/09  $20
F1  01/02/09  01/04/09  $30
F1  01/22/09  01/26/09  $10
F1  01/22/09  01/26/09  $50
F1  01/22/09  01/26/09  $20

我想要的输出是 -

F1  01/02/09  01/04/09  $100
F1  01/22/09  01/26/09  $80

到目前为止,我有以下声明,这是不正确的:

SELECT DISTINCT STDATE, ENDDATE, CD FROM TABLE AS A 
INNER JOIN (SELECT SUM(PR) FROM TABLE) AS B 
ON A.STDATE=B.STDATE

我该怎么做???

【问题讨论】:

    标签: asp.net sql sql-server


    【解决方案1】:

    我认为您正在寻找分组:

    select
        t.cd,
        t.stdate,
        t.enddate,
        sum(t.pr)
    from
        table t
    group by
        t.cd,
        t.stdate,
        t.enddate
    

    【讨论】:

      【解决方案2】:
      Select cd, stdate, enddate, sum(PR)
      from Table
      group by cd, stdate, enddate
      

      【讨论】:

        【解决方案3】:

        简单的分组求和,随便挑一本SQL编程书

        SELECT CD, STDATE,ENDDATE,SUM(PR) as SomeSum
        FROM TABLE
        GROUP BY CD, STDATE,ENDDATE
        

        【讨论】:

          【解决方案4】:
          SELECT CD,STDATE,ENDDATE,SUM(PR) FROM TABLE GROUP BY CD,STDATE,ENDDATE
          

          (原始答案中缺少 CD)

          【讨论】:

          • 这没有提供他正在寻找的输出。
          • 你需要在select和group by中的cd字段
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-31
          • 1970-01-01
          • 2012-05-06
          • 1970-01-01
          相关资源
          最近更新 更多