我有這個疑問只選擇1「控制數量」,而無需使用不同
SELECT DISTINCT [CtrlNo]
,[RefNo]
,[DealNoCat]
,[tCustomer].[CustomerName]
,[tBank].BankName
,[tFIManagers].[FIName]
,[DaysOut]
,[FundDate]
,[Comment]
FROM [tContractsInTransit]
INNER JOIN tFIManagers
ON tFIManagers.FIManagerID = tContractsInTransit.FIManagerID
INNER JOIN tBank
ON tBank.BankID = tContractsInTransit.BankID
INNER JOIN tCustomer
ON tCustomer.CustomerID = tContractsInTransit.CustomerID
WHERE PFX = 'x'
AND Paid = 'false'
GROUP BY [CtrlNo]
,[RefNo]
,[DealNoCat]
,[tCustomer].[CustomerName]
,[tBank].BankName
,[tFIManagers].[FIName]
,[DaysOut]
,[FundDate]
,[Comment]
ORDER BY CtrlNo DESC
然而,這並沒有給我,我想,即使它做什麼,我告訴它做的結果。如果總共有10條記錄,並且其中三條記錄具有相同的CtrlNo,則如果RefNo和DaysOut等其他列之一不相同,則它將顯示所有這三條記錄。我需要顯示DaysOut數量最少的三條記錄。例如,如果DaysOut爲2,6和48,則應顯示帶有2的記錄。有沒有辦法做到這一點?提前致謝。
我們可以有一個SQLFiddle和可視化表示形式來表示想要的輸出結果嗎? – 2014-08-27 19:16:07
在該列上使用Min()並將其從組中刪除或通過窗口函數 – xQbert 2014-08-27 19:20:55