mySQL виберіть IN діапазон


84

Чи можна визначити діапазон для IN частини запиту, приблизно так

SELECT job FROM mytable WHERE id IN (10..15);

Замість

SELECT job FROM mytable WHERE id IN (10,11,12,13,14,15);

Відповіді:


153

Не можна, але можна використовувати BETWEEN

SELECT job FROM mytable WHERE id BETWEEN 10 AND 15

Зверніть увагу, що BETWEENвключено, і включатиме елементи з ідентифікаторами 10 і 15.

Якщо ви не хочете включення, вам доведеться повернутися до використання операторів >and <.

SELECT job FROM mytable WHERE id > 10 AND id < 15

1
що робити, якщо я хочу запитати перші 5 елементів у своїй таблиці? наприклад ідентифікатори 1,2,5,6,7,8. У цьому випадку вищезазначений підхід поверне лише 1,2,5.
Soroosh

1
Не знаю, що ти маєш на увазі. Я б запропонував написати нове запитання з більш детальною інформацією.
ESG

6

Для вибору даних у числовому діапазоні ви можете використовувати BETWEENвключно.

SELECT JOB FROM MYTABLE WHERE ID BETWEEN 10 AND 15;

Яка різниця у відповіді ESG?
Торстен

2
Дублікат спаму, окрім цього, є поганою практикою, якщо розміщувати стовпець і таблицю у верхньому регістрі. Назви стовпців не чутливі до регістру, тому це нормально (як, наприклад, не видаватиме помилки), але імена таблиць чутливі до регістру в більшості систем Unix. (Але в назві таблиці Windows також не враховується регістр, тому цей запит там міг би бути успішним) ... Загалом, це хороший план, щоб не плутати людей з непотрібними іграми з великими літерами. Як це стає голосом після відповіді ESG мені не під силу.
jeroen e
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.