У меня есть таблица с названием months — она содержит все 12 месяцев календаря, идентификаторы соответствуют номеру месяца.
Я буду запускать запрос, чтобы получить 2 или 3 последовательных месяца из этой таблицы, например
- Апрель Май
- Июнь Июль Август
- Декабрь и январь
Однако я хочу убедиться, что всякий раз, когда декабрь является январем и извлекается, он извлекает их в этом порядке, а не с января по декабрь. Вот что я пробовал:
SELECT * FROM `months`
WHERE start_date BETWEEN <date1> AND <date2>
ORDER BY
FIELD(id, 12, 1)
Это работает для декабря и января, но теперь, когда я пытаюсь получить январь и февраль, он выполняет их в неправильном порядке, например, «февраль — январь» — я предполагаю, потому что мы указали 1 в ORDER BY в качестве последнего значения.
Кто-нибудь знает правильный способ добиться этого? Как я уже упоминал, это также должно работать в течение 3 месяцев, поэтому, например, «ноябрь, декабрь, январь» и «декабрь, январь, февраль» следует извлекать все в указанном порядке.
Я не понимаю. Ваш вопрос касается января и февраля, но ваш запрос относится к декабрю и январю!?! — person MAXIM schedule 09.05.2020
Я думаю, нам нужен вопрос, более направленный на реальную проблему — person MAXIM schedule 09.05.2020
Как вы передадите список номеров? — person MAXIM schedule 09.05.2020
