1

我有一个表格,其中包含“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 行。

4

4 回答 4

2
select *
from table 
order by Date desc
limit 0, 3
于 2009-08-27T18:47:42.737 回答
1

MySQl 可以做 TOP 吗?如果是这样

   Select Top 3 * From Table
   Order By Date Desc
于 2009-08-27T18:47:54.733 回答
0

只需更改订单以执行您的 LIMIT。

所以,换句话说,添加

ORDER BY `date` DESC 

到您的选择声明。然后,您将能够将返回结果限制为您需要的任何行数。

于 2009-08-27T18:47:00.243 回答
0

您不需要子查询,只需在 SELECT 语句中使用 LIMIT 子句,并添加 ORDER BY 'date' DESC 子句。通常,使用诸如“DATE”(或“DATETIME”)之类的列名是一个坏主意,因为不同的数据库可能会将这些用作保留字。

于 2011-01-05T21:03:36.857 回答