0
基本上,我希望在2013年1月至3月的每個月內實現像本示例中那樣的Max(Most_Recent_Day)每個用戶。每月返回最大(Recent_Date),重複值和內部連接問題 - SQL
示例:從1月到3月,數據庫中的每個月,系統都會爲每個用戶捕獲Most_Recent_Day。
下面是預計業績:
User | Most_Recent_Day
--------------------------------
afolabi.banu | 1/31/2013
afolabi.banu | 2/7/2013
afolabi.banu | 3/21/2013
mario.sapiter | 1/22/2013
mario.sapiter | 2/7/2013
mario.sapiter | 3/11/2013
不過,我想有另一個數據庫列,以及要顯示。下面是列。
User|Total_Hits | Recent_Month| Most_Recent_Day | Most_Recent_Days_Hits
我試圖使用內部連接,但結果不是我所期望的。我得到重複的用戶名和最近一天重複。基本上,我只想顯示相同用戶名的重複記錄。
下面是我得到的結果。由於它是來自數據庫的數據,請忽略recent_month值。
User |Total_Hits | Recent_Month | Most_Recent_Day | Most_Recent_Days_Hits
-------------------------------------------------------------------------------------
afolabi.banu | 223 | 25 | 2/7/2013 | 5
afolabi.banu | 223 | 25 | 2/7/2013 | 5
afolabi.banu | 211 | 13 | 1/31/2013 | 3
afolabi.banu | 223 | 25 | 2/7/2013 | 5
afolabi.banu | 296 | 31 | 3/21/2013 | 1
afolabi.banu | 296 | 31 | 3/21/2013 | 1
mario.sapiter | 95 | 7 | 2/7/2013 | 5
mario.sapiter | 7 | 7 | 3/21/2013 | 1
mario.sapiter | 7 | 37 | 3/22/2013 | 1
mario.sapiter | 249 | 37 | 2/7/2013 | 5
這是我的SQL代碼
SELECT t.[User],
t.Total_Hits,
t.Recent_Month,
t.Most_Recent_Day,
t.Most_Recent_Day_Hits FROM UserUsageMonthly t
INNER JOIN
(
select
[User]
, max(Most_Recent_Day) as Most_Recent_Day
from UserUsageMonthly (NoLock)
where Application_Name='Daily Production Review' and Site_Collection='wrm13'
and Most_Recent_Day between '1/1/2013' and '3/31/2013'
group by [User], datepart(month,Most_Recent_Day)
) table2
ON
t.[User]=table2.[User]
AND t.Most_Recent_Day = table2.Most_Recent_Day
order by t.[User]