首页 > 解决方案 > SQL - 一行的总和,而另一行的 DISTINCT?

问题描述

我有一张这样的桌子

| ProjectCode | ProjectCost |
| -------- | -------------- |
| P001    | 12000.00        |
| P001    | 12000.00        |
| P001    | 12000.00        |
| P002    | 4350.50         |   
| P002    | 4350.50         |
| P003    | 13475.35        |
| P003    | 13475.35        |
| P004    | 2750.00         |

(等等)

我想要 ProjectCost 的总和,而不计算重复的“ProjectCode”条目。我尝试过 distinct 和 group by 但无法找出正确的组合。

我已经接近了

SELECT SUM(DISTINCT project.projectCost) AS "Total Projects Cost" FROM project

但我有 P004 和 P006 = 2750.00 所以 distinct 不起作用

提前致谢

标签: sqlsumdistinct

解决方案


我想你想要:

SELECT SUM(projectCost) AS Total_Projects_Cost
FROM (SELECT DISTINCT projectCode, projectCost FROM project) t

推荐阅读