2013-03-13 102 views
0

已經問了好幾次這個問題,但從未收到過實際的答案!檢索最近的多行

我有一個表,看起來像這樣:

answer_id q_id answer qscore_id answer_timestamp 
1   10 Male 3   1363091016 
2   10 Male 3   1363091017 
3   11 Male 3   1363091018 
4   10 Male 3   1363091019 
5   11 Male 3   1363091020 
6   12 Male 3   1363091020 
7   11 Male 3   1363091025 

所以我有同樣的問題(q_id)多個答案。我希望能夠檢索每個問題只有一個答案,並且是最近的答案。

IE。

應該有三個行返回,這些都是最近的回答爲q_id:

4   10 Male 3   1363091019 
6   12 Male 3   1363091020 
7   11 Male 3   1363091020 

任何幫助將非常感激。

謝謝

+0

@tombom爲什麼拒絕了我的建議的修訂? – fedorqui 2013-03-13 09:30:51

+0

我沒有拒絕任何東西? – fancyPants 2013-03-13 09:31:13

+0

哦,所以有人作爲社區呢! http://stackoverflow.com/review/suggested-edits/1707149 – fedorqui 2013-03-13 09:31:38

回答

2

使用子查詢,以獲得最大的時間戳,然後加入該背靠桌子

SELECT a.answer_id, a.q_id, a.answer, a.qscore_id, a.answer_timestamp 
FROM SomeTable a 
INNER JOIN (SELECT q_id, MAX(answer_timestamp) AS answer_timestamp FROM SomeTable GROUP BY q_id) Sub1 
ON a.q_id = Sub1.q_id AND a.answer_timestamp = Sub1.answer_timestamp 
+0

輝煌。謝謝。 – ojsglobal 2013-03-13 09:33:31

-2

select * from table where q_id =?爲了通過answer_timestamp遞減極限3

+0

這隻會給我最近回答的三個問題 - 不是最近爲三個單獨問題回答的問題。 – ojsglobal 2013-03-13 09:27:51