2013-08-24 54 views
2

我想选择sql表的最后3行。我知道我应该使用SELECT * FROM table ORDER BY DESC LIMIT 3,但是这个代码的问题是它从最后选择行。例如,它选择30,然后是29,然后是28.但是,我需要这种格式:28, 29, 30。任何建议?选择sql表的最后3行

回答

2

试试这个:

SELECT * FROM (
    SELECT * FROM reset ORDER BY id DESC LIMIT 3 
) as r ORDER BY id 
+0

好吧,它的工作原理,tnx –

0

如何像:

select * from (select * from table order by x desc limit 3) order by x; 
+0

我想这个代码,但原因的错误:'的mysql_query( “SELECT * FROM(nobuzz选择从RESET其中username = '$表' ORDER BY ID DESC LIMIT $ resetnum2)ORDER BY ID”);' –

0

尝试是这样的: -

SELECT * FROM reset 
    WHERE username = '$table' ORDER BY id ASC LIMIT (FOUND_ROWS() - 3), 3 
+0

我尝试此代码,但导致错误:'mysql_query(“SELECT * FROM(SELECT nobuzz FROM reset WHERE username ='$ table'ORDER BY id DESC LIMIT $ resetnum2)ORDER BY id”);' –

+0

更新了我的答案!请检查!!! –

+0

此查询在mysql_fetch_assoc()中仍然存在错误 –

1

我希望这可以帮助您的问题

select * from 
(
select * from reset 
order by id DESC LIMIT 3 
) t 
order by id ASC 
0

试试

Select * from (SELECT * FROM Table_name ORDER BY Column_name DESC limit 0,3) as alias ORDER BY Column_name ASC; 
0

试试这个手册吧!

简单而简单!

Select * From tableName where 
PKCol=(select count(*) from tableName) 
OR 
PKCol=(select count(*) from tableName)-1 
OR 
PKCol=(select count(*) from tableName)-2 
order by PKCol desc;