SQL从一组数据中获取最新记录

har*_*ryg 1 mysql sql

所以我有一个持有表,每个持有都有一个日期列.例如

id   |   holding_name   |   value   |   holding_date
----------------------------------------------------
1    |   iShares MSCI   |   2032    |   2013-12-31
2    |   Vanguard Bonds |   5332    |   2013-12-31
3    |   iShares MSCI   |   2241    |   2014-01-31
4    |   Vanguard Bonds |   6236    |   2014-01-31
Run Code Online (Sandbox Code Playgroud)

如果我只想选择我可以去的最新馆藏

SELECT * FROM holdings WHERE holdings.holding_date = '2014-01-31'
Run Code Online (Sandbox Code Playgroud)

但如果我不知道最新的日期是2014-01-31呢?有没有办法将其构建到查询中?

Bar*_*mar 6

SELECT *
FROM holdings
WHERE holding_date = (SELECT MAX(holding_date) from holdings)
Run Code Online (Sandbox Code Playgroud)

  • 无所谓.在这种格式中,它们以相同的方式排序. (3认同)