Как мне ВЫБРАТЬ 5 самых высоких значений в целочисленном столбце?

#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