如何将选择不同的选择加入选择总和?

Posted

技术标签:

【中文标题】如何将选择不同的选择加入选择总和?【英文标题】: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

我该怎么做???

【问题讨论】:

【参考方案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字段

以上是关于如何将选择不同的选择加入选择总和?的主要内容,如果未能解决你的问题,请参考以下文章

如何从其他地方选择具有不同 WHERE 语句的东西

从具有不同条件的表中选择总和和平均值

重新计算更改时选择选项的总和

SQL 合并总和选择一个结果

Google BigQuery 选择记录中所有嵌套字段的总和

选择总和列,然后从列中获取最小值