我使用下面的查詢理清我的表中的數據,並沒有正確地計算:不同的值
SELECT rowid, customer, category, SUM(DISTINCT return) as returntotal, SUM(DISTINCT release) as releasetotal FROM orders GROUP BY customer
這裏是我當前的表:
,這就是我需要的查詢結果是:
我需要通過DISTINCT'category'返回DISTINCT值的SUM;由DISTINCT'category'和所有GROUPED BY客戶在'release'中的DISTINCT值的總和。我當前的查詢正在跳過具有相同值的DISTINCT類別。例如:在頂部圖像中的rowid 17-19中,我的查詢爲Scott生成了一個值爲'465'的值,其中我需要的值是每個DISTINCT類別的DISTINCT值或465的Home Goods和Lawn的465。
我的每一行輸出應該如下:
customer (no duplicates) totalreturn totalrelease
下面是各行所需的輸出的一個例子:
Scott $0 $930
Michelle $123 $250
Brad $2070 $0
問題:
- 什麼都要我的發言看起來像是要產生我需要的結果?
- 正在使用GROUPED BY矯枉過正如果我已經使用DISTINCT ??
謝謝!
考慮提供適當的DDL(和/或sqlfiddle)與期望的結果集 – Strawberry