#mysql
#mysql
Вопрос:
Какова правильная инструкция SQL, если я хочу выбрать самые большие 5 целых строк в столбце «id»?
В настоящее время у меня есть что-то, что получает только идентификатор, который меньше 5:
SELECT * FROM table WHERE id < 5
Комментарии:
1. Вам нужны первые 5? или самые большие 5 целых чисел?
Ответ №1:
SELECT * FROM mytable ORDER BY id DESC LIMIT 5
Комментарии:
1. @exxcellent: Поскольку никто на самом деле не объяснил, почему
id < 5
отличается отLIMIT 5
, я попробую.id<5
на самом деле выполняется сравнение каждого значенияid
. Если вы измените сравнение наid<10
иid<15
вы можете наблюдать, как изменяются результаты.LIMIT 5
, с другой стороны, усекает весь набор результатов только до первых 5 результатов. Вот почему вы также должны использоватьORDER BY id DESC
, чтобы гарантировать, что первые 5 результатов являютсяid
значениями с самыми высокими значениями.2. @KurtMcKee вы абсолютно правы, но здесь exxcellent не хотел никаких объяснений, чтобы никто не давал объяснений. Я думаю, что здесь, кто дает ответ, все знают об этом объяснении. как бы то ни было, спасибо.
Ответ №2:
5 самых больших значений «id»:
SELECT * FROM table ORDER BY id DESC LIMIT 5
Ответ №3:
Если я вас правильно понял, я думаю, вам это нужно,
SELECT * FROM table ORDER BY id DESC LIMIT 5
Ответ №4:
SELECT top 5 * FROM mytable ORDER BY id DESC