問題如下:我需要顯示由每個客戶進行的付款(使用codcli列代碼標識)的數字(使用COUNT()
函數)但通過一些部門進行過濾(tipope列)。正如您在圖片中看到的那樣,該號碼會顯示出來,但會在分部之間進行拆分,而我希望每個客戶只顯示一次。SQL(Oracle):按某些列綁定的組
如何在沒有付款分離的情況下過濾?
問題如下:我需要顯示由每個客戶進行的付款(使用codcli列代碼標識)的數字(使用COUNT()
函數)但通過一些部門進行過濾(tipope列)。正如您在圖片中看到的那樣,該號碼會顯示出來,但會在分部之間進行拆分,而我希望每個客戶只顯示一次。SQL(Oracle):按某些列綁定的組
如何在沒有付款分離的情況下過濾?
不包括在外部查詢的部門(Tipope
),並有一個子查詢與您COUNT
。
SELECT CODCLI, SUM(SELECT COUNT(sub.CODCLI)
FROM mov sub
WHERE sub.TIPOPE = TIPOPE
GROUP BY sub.CODCLI) AS SOMMA_BONIFICI
FROM mov
WHERE TIPOPE IN ('VE5', ' VE9', 'PR5', 'PR9')
GROUP BY CODCLI
ORDER BY CODCLI
這將輸出:
CODCLI SOMMA_BONIFICI
AA200078 16
AA200300 10
AA200412 3
AA200309 9
可能是我沒有正確地理解你的問題,但爲什麼不乾脆:
SELECT CODCLI, COUNT(*) AS SOMMA_BONIFICI
FROM MOV
WHERE TIPOPE IN ('VE5', ' VE9', 'PR5', 'PR9')
GROUP BY CODCLI
ORDER BY CODCLI;
更容易!謝謝您的幫助 –
添加一些示例表數據和預期的結果 - 所有作爲格式化文本(不是圖像)。同時向我們展示您當前的查詢嘗試。 – jarlh
對不起,由於公司防火牆無法看到圖像:/ - 您是否可以使用http://sqlfiddle.com/來演示此問題? – Nope
對不起,這是SQL查詢:select codcli,tipope,count(codcli)as mov group by codcli,tipope ('VE5','VE9','PR5','PR9') order by codcli –