我的数据库中有一个随机更新的表。我正试图在最新日期之前提取条目。这部分很简单,我可以轻松完成。但是,我想拉出最近的两个日期。
实施例;如果我的最后一次更新是2015-06-22,之前的更新是2015-06-12,那之前的更新是2015-06-02。我想拉2015-06-22和2015-06-15。
我会使用LIMIT 2,但是,可能有相同日期的未知数量的物品。
我没有尝试过LIMIT 2以外的任何东西。经过一些研究,我找不到任何可以参考的东西。
更新
我使用SELECT DISTINCT来获得所需的结果。
答案 0 :(得分:1)
我将列设置为id,即自动递增,并执行我的查询:
SELECT * FROM tbl_name ORDER BY `id` DESC LIMIT 2
Crap McAdam你打败了我!
答案 1 :(得分:1)
SELECT DISTINCT dates FROM table ORDER BY dates DESC LIMIT 2
将在表格中为您提供最新的2个日期。
答案 2 :(得分:0)
您可以使用LIMIT获取最新的两个日期,就像您提到的那样:
SELECT latestDates
FROM myTable
ORDER BY dateColumn DESC
LIMIT 2;
您可以将其加入原始表,只选择在这两个日期出现的行:
SELECT m.*
FROM myTable m
JOIN(
SELECT latestDates
FROM myTable
ORDER BY dateColumn DESC
LIMIT 2) tmp ON tmp.latestDates = m.dateColumn;