2013-08-24 2 views
2

Я хочу выбрать последние 3 строки таблицы sql. Я знаю, что должен использовать SELECT * FROM table ORDER BY DESC LIMIT 3, но проблема с этим кодом заключается в том, что он выбирает строки с конца. Например, он выбирает 30, затем 29, затем 28. Но мне нужны они в таком формате: 28, 29, 30. Любое предложение?Выберите последние 3 строки таблицы sql

ответ

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 (SELECT nobuzz FROM сброса WHERE имя пользователя = '$ таблица' 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

I попробовал этот код, но вызывал ошибку: '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

try

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; 
Смежные вопросы