我有一张表格,其日期为“2009年8月23日”格式和5个值,所以它看起来像这样
SELECT * FROM table;
Date | Total | V1 | V2 | V3 | V4
Aug 21, 2009 | 41 | 23 | 8 | 8 | 2
Aug 22, 2009 | 39 | 22 | 8 | 7 | 2
Aug 23, 2009 | 35 | 20 | 6 | 7 | 2
Aug 24, 2009 | 34 | 20 | 6 | 6 | 2
Aug 25, 2009 | 32 | 19 | 5 | 6 | 2
Aug 26, 2009 | 31 | 19 | 5 | 5 | 2
Aug 27, 2009 | 30 | 19 | 5 | 5 | 1
所以我需要一个只给出最近(底部)3个条目的查询。我应该按日期设置一些查询还是只设置最后3行的限制?我尝试使用限制做一个子查询,但是我的MySQL版本在子查询中不支持LIMIT,据我所知,没有办法做一个负限制来获取最后x行数。
答案 0 :(得分:2)
select *
from table
order by Date desc
limit 0, 3
答案 1 :(得分:1)
MySQl可以做TOP吗?如果是的话
Select Top 3 * From Table
Order By Date Desc
答案 2 :(得分:0)
只需更改订单即可进行限制。
所以,换句话说,添加
ORDER BY `date` DESC
到你的select语句。然后,您可以将返回结果限制为您需要的任何行数。
答案 3 :(得分:0)
您不需要子查询,只需在SELECT语句中使用LIMIT子句,并添加ORDER BY'date'DESC子句。通常,使用诸如“DATE”(或“DATETIME”)之类的列名称是一个坏主意,因为不同的数据库可能会将这些列用作保留字。