Q
選擇最新行
2
A
回答
10
如果你想返回具有與之相關聯的最近日期的行,你也可以使用子查詢得到的結果:
select t1.description,
t1.date,
t1.profile,
t1.user,
Replace(t1.locations, ',', '|') locations
from test t1
inner join
(
select max(date) date, profile, user
from test
group by profile, user
) t2
on t1.user = t2.user
and t1.date = t2.date
and t1.profile = t2.profile
where t1.user = 'Timmy'
order by t1.profile
子查詢將返回每個用戶和配置文件的最大日期,然後將它加回到用戶,配置文件和日期的表上,以返回每個用戶的每個配置文件的最近行(或者像這裏一樣,針對特定用戶的每個配置文件)。
3
SELECT description,
date,
profile,
user,
Replace(locations, ',', '|') AS locations
FROM test AS t
WHERE date = (
SELECT date
FROM test AS tm
WHERE tm.user = t.user
ORDER BY date DESC
LIMIT 1
)
AND user = 'Timmy'
ORDER BY profile ; -- whatever
+0
單擊此處查看[SQL小提琴](http://sqlfiddle.com/#!2/4ff08/67) –
+1
這只是解決問題的唯一答案。 –
+0
點擊此處查看[更新的SQL小提琴](http://sqlfiddle.com/#!2/4ff08/82) –
相關問題
- 1. 選擇條件最後更新行
- 2. 選擇在分組最新行
- 3. SQL使用GROUP BY選擇最新行
- 4. 只選擇行日期最新的
- 5. 選擇最新日期的行
- 6. 選擇T-SQL中的最新行
- 7. 選擇最新的條目
- 8. 選擇最新的每項
- 9. 選擇最新的條目
- 10. Reactjs - 最新日期選擇
- 11. 選擇最新日期
- 12. sql選擇最新值
- 13. SQL選擇最新記錄
- 14. 選擇最新記錄
- 15. 選擇查詢以選擇最新更新的記錄
- 16. 選擇最後一行
- 17. 與最大值選擇行
- 18. 選擇最近的行
- 19. 選擇最後一行
- 20. 選擇多個最大行
- 21. SQL:選擇最低值行
- 22. 選擇最大值的行
- 23. DatagridView選擇最後一行
- 24. 最後選擇行在UITableView
- 25. 選擇最後的x行
- 26. 選擇最後12行oracle
- 27. 最新的行沒有在選擇...更新
- 28. 選擇除第一行之外的最新10行
- 29. 按日期選擇行和排除行已最新記錄
- 30. 選擇最新行從表3的MAX行
*'我想**每個**最新的'Timmy'個人資料* * - 我相信'profile'也應該包含在'GROUP BY' –
@AndriyM是的,我想你是對的。更新了我的答案。謝謝 – Taryn