Есть ли альтернатива TOP в MySQL?

Я хочу знать альтернативу ключевого слова TOP, как в MySQL. Я прочитал о TOP в SQL Server.

Есть ли альтернатива этому в MySQL или какой-либо другой метод в MySQL, из которого мы можем получить такую ​​же функциональность?

Заказ и ограничение результатов:

SELECT field1, field2 FROM myTable ORDER BY field1 ASC LIMIT 10 

Вы можете использовать ключевое слово LIMIT (см. Документацию инструкции SELECT ) – оно идет в конце запроса:

 select * from your_table where ... limit 10 

получить первые 10 строк

Или даже :

 select * from your_table where ... limit 5, 10 

Чтобы получить 10 строк, начинайте с 6-го (т.е. получая строки с 6 по 15) .

Я знаю, на этот вопрос был дан ответ, я хотел бы добавить некоторые соображения производительности. Оператор TOP в MySQL не переводится с помощью LIMIT.

Предположим, вы хотите, чтобы последние 10 человек были вставлены в db:

 SELECT name, id FROM persons ORDER BY id DESC LIMIT 10 

Однако при использовании тысяч строк это может стать чрезвычайно медленным.

Гораздо быстрее было бы получить текущее число X строк:

 SELECT COUNT(*) FROM persons 

и используйте этот номер для запроса последних 10:

 SELECT name, id FROM persons LIMIT x-10,10 

Таким образом, предел пропустит первые строки X-10 и вернет следующий 10. Это было в 100 раз быстрее для меня, чем сортировка столбца, но это только мой опыт.

да, существует предельная оговорка.

Пример:

  SELECT * FROM `your_table` LIMIT 0, 10 

Это отобразит первые 10 результатов из базы данных.

mysql эквивалент top, и вы можете найти больше о LIMIT в MySql Doc