Привет, я знаю, что что- SQL Server
то query
подобное делается, чтобы сделать ПОСЛЕДНЮЮ запись НЕ ПЕРВОЙ
SELECT TOP 1 *
FROM Tabla
ORDER by ID DESC
Так вот у меня берется последняя запись таблицы MSSQL, то есть SQL server 2008 R2 но MySQL
вместо этого и у меня берется первая запись Что мне делать или что я делаю не так? Прочитайте начало, так как они проголосовали за меня после небольшого исследования
SELECT *
FROM Tabla
ORDER by ID DESC
LIMIT 1
ПОЯСНО, что я только что понял это, и я понял это после создания этого поста, что эквивалент
TOP 1
SQL-сервера
MIN(exprecion)
и последняя запись
MAX(exprecion)
Конечно, с вашим состоянием.
Не понятно, что ты сделал не так. Потому что 2 оператора абсолютно эквивалентны и работают отлично.
TOP 1
в SQLServer:Результат:
Demo
LIMIT 1
с mysqlРезультат:
Demo
Как видите, оба запроса работают нормально и возвращают одинаковый результат.
С другой стороны, запрос, который вы ставите в качестве ответа на свой вопрос:
... вообще недействителен, он даже не запускается, как вы можете видеть здесь:Demo
Возможно, вы имели в виду:
... но хотя по крайней мере сейчас он выполняется, этот запрос может дать вам совершенно неправильные результаты, как вы можете видеть в следующей демонстрации:
Результат:
Demo
Как я вижу, вы берете порядок убывания, и это будет последняя введенная запись, принимая во внимание, что идентификатор является автоинкрементным. Запрос будет выглядеть примерно так:
SELECT * FROM Tabla ORDER by ID ASC LIMIT 1
Это принесет вам самую старую запись. Но имейте в виду, как растет поле ID
Красивая цветочная альтернатива:
Главное достоинство этого запроса в том, что если, например, две книги имеют одинаковую минимальную цену, отображаются обе записи. С другой стороны, «LIMIT 1» дает нам только один результат.