努力爲SQL查詢添加額外步驟我想運行。SQL(子查詢)
我有一個客戶數據庫與當客戶加入的日期/時間的細節和交易表與他們多年
的交易細節的客戶表,我想什麼做的是組通過加入日期(以年爲單位),並計算每年加入的數量,然後在下一列中,然後計算在特定年份中進行了交易的人數。例如2016年是當年。這樣我可以顯示多年來客戶保留情況。
這兩張表格都是由客戶URN鏈接的,但我正在努力讓我的頭腦最有效地展現這一點。我可以很容易地統計和分組成員加入年份,我可以顯示最大日期交易,但我很努力將兩者結合在一起。我想我需要使用子查詢和左連接,但它暗指我。
實施例輸出的列標題與數據
Year_Joined = 2009
Joiner_Count = 10
Transact_in_2016 = 5
我在哪裏的語法,明智的。我知道這不是近乎完整的地方。因爲我需要通過DateJoined進行分組,然後子查詢2016年已完成交易的客戶數量?
SELECT Customer.URNCustomer,
MAX(YEAR(Customer.DateJoined)),
MAX(YEAR(Tran.TranDate)) As Latest_Tran,
FROM Mydatabase.dbo.Customer
LEFT JOIN Mydatabase.dbo.Tran
ON Tran.URNCustomer = Customer.URNCustomer
GROUP BY Customer.URNCustomer
ORDER BY Customer.URNCustomer
你想一個單一的一年? –
是的,理想情況下。我希望加入的客戶有一年,然後統計當年的加入數量,然後計算加入該年的同一客戶的數量,但他們在2016年進行了交易。最終,我希望將此數字顯示爲保留百分比。例如。 2015年有35%的客戶在2016年進行了交易,等等。 –