我需要我的項目幫助來生成報告。它只是顯示客戶的最新交易日期列表。我用左連接表CUSTOMER和TRANSACTIONS。如何顯示最近交易日期的客戶
FROM CUSTOMER CUST
LEFT JOINT TRANSACTIONS TXN
ON TNX.CUST_ID = CUST.ID
當然,它會根據客戶的交易次數顯示多個客戶記錄。我怎樣才能得到每個客戶的最新交易?提前致謝!
我需要我的項目幫助來生成報告。它只是顯示客戶的最新交易日期列表。我用左連接表CUSTOMER和TRANSACTIONS。如何顯示最近交易日期的客戶
FROM CUSTOMER CUST
LEFT JOINT TRANSACTIONS TXN
ON TNX.CUST_ID = CUST.ID
當然,它會根據客戶的交易次數顯示多個客戶記錄。我怎樣才能得到每個客戶的最新交易?提前致謝!
或許您可以使用這樣的:
SELECT MAX(TNX.Date)
FROM CUSTOMER CUST
LEFT JOINT TRANSACTIONS TXN
ON TNX.CUST_ID = CUST.ID
GROUP BY CUST_ID
我明白了。完美的作品。謝謝! –
使用max
select Cust.SomeColumn,
max(txn.SomeDateColumn) as MaxDate
FROM CUSTOMER CUST
LEFT JOINT TRANSACTIONS TXN
ON TNX.CUST_ID = CUST.ID
GROUP BY Cust.SomeColumn -- include every column that isn't being aggregated
試試這個您加入後的數據。 abc數據是每個客戶有多個交易的最終數據。
從您發佈的SQL中看來,Transactions表已經包含Customer ID和事務。我猜你想加入這些表的原因是通過名稱而不是ID來引用客戶。在這種情況下,你的SQL需要看起來像這樣:
SELECT DISTINCT
CUST.NAME, --Your field names may differ
TXN.TRANSACTION_DATE --Your field names may differ
FROM
CUSTOMER CUST
LEFT JOIN TRANSACTIONS TXN
ON TNX.CUST_ID = CUST.ID
ORDER BY
TXN.TRANSACTION_DATE DESC
由於JohnHC曾表示,這將是更有幫助,如果你在表中的數據提供了更多的細節。
是的你是對的。謝謝 –
SELECT *
FROM (
SELECT customer, transactiondate
FROM abc
ORDER BY transactiondate)
result
GROUP BY customer,transactiondate
請編輯你的答案,包括一些解釋。僅有代碼的答案對未來SO讀者的教育很少。您的回答是在低質量的審覈隊列中。 – mickmackusa
給通過一個什麼樣的表 – Hacker
郵政細節trasection命令也標記您的數據庫 – JohnHC
desc中 –