我有一個表,看起來像這樣:SQL選擇獨特的屬性中最後一次出現
Date | AttributeId | Score |
4/4/2013 1 0.64
4/6/2013 2 0.35
4/6/2013 1 0.86
4/4/2013 5 0.34
4/4/2013 4 0.23
4/7/2013 3 0.54
4/8/2013 1 0.66
我可以構建在MS SQL查詢,使我得到的只是一個特定 屬性Id的最後一次出現。如果有幫助
Date | AttributeId | Score |
4/6/2013 2 0.35
4/4/2013 5 0.34
4/4/2013 4 0.23
4/7/2013 3 0.54
4/8/2013 1 0.66
,我知道,只有5 AttributeIDs(1-5),他們不會改變:從上面的例子中,查詢將返回此。
目前我查詢最近15條記錄(並希望那些記錄包含我所有的5個屬性),然後在應用程序級別提取所有5個屬性的最新分數。
有沒有更好的解決方案?
編輯:
另外,如果我有Date
,UserId
,AttributeId
和Score
,可我不知組我的結果通過UserId
?
當我嘗試你的答案時,我看到我只獲得最新的結果,不管哪個UserId
。
我對不起你們,我應該提到UserId
越早
編輯2: 我需要通過屬性來獲得最新的分數爲每一位用戶和超過平均的屬性他們的得分。 樣品看起來是這樣的:
Date | UserId | AttributeId | Score |
4/4/2013 1 1 0.64
4/6/2013 1 1 0.35
4/6/2013 2 1 0.86
4/4/2013 1 3 0.34
4/4/2013 2 3 0.23
4/7/2013 2 1 0.54
4/8/2013 1 5 0.69
4/4/2013 2 4 0.27
4/7/2013 2 2 0.54
4/9/2013 1 4 0.66
4/9/2013 2 2 0.58
4/10/2013 1 4 0.66
4/9/2013 1 2 0.33
4/11/2013 2 5 0.10
第一個結果是這樣的:
Date | UserId | AttributeId | Score |
4/6/2013 1 1 0.64
4/9/2013 1 2 0.33
4/4/2013 1 3 0.34
4/10/2013 1 4 0.66
4/8/2013 1 5 0.69
4/7/2013 2 1 0.86
4/9/2013 2 2 0.58
4/4/2013 2 3 0.23
4/4/2013 2 4 0.27
4/11/2013 2 5 0.10
而且通過UserId
平均得分在最後的結果是:
UserId | AverageScore |
1 0.532
2 0.408
有多少不同的屬性相比,記錄你有人數是多少? – Quassnoi 2013-04-30 08:58:34
和多少條記錄? – Quassnoi 2013-04-30 09:01:30
對不起,有5個屬性和大約1000條記錄 – ttkalec 2013-04-30 09:02:30