Я пишу:
Почему я получаю только <600, если в доках написано 1000
Один слепой:
Ты чё, документацию читать не умеешь? Ты только 1000 можешь получить
Другой слепой:
Школьник, ты вообще документацию открывал?SET sql_mode=(SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); 1. Задумайтесь, как MySQL должен определить, какое именно значение id выбрать при группировке, и почему именно его.
2. Если price может быть разным для одного и того же type, то предыдущий вопрос относится и к полю price.
3. Если для одного и того же type значение price всегда одно и то же, то надо нормализовать базу, вынеся соотношение type : price в отдельную таблицу (третья нормальная форма).
Сразу узнать нужное.Для этого мне нужно хранить все свободные даты. Я над этим вопросом 3 дня сижу. Я не могу представить такую форму хранения свободных дат, чтобы можно было сразу по 200 номерам пройтись и получить из них свободные.
А что вам мешает инвертировать логическое условие? Достаточно просто NOT(...), если не знаете булевой логики и не можете упростить выражение.
Какой болван Вам об этом сказал?
Если полученные "в начале все номера, которые заняты в этот промежуток", будут получены только для того, чтобы получить все остальные номера, то это [censored]... в смысле лишние и ненужные операции.
SELECT DISTINCT room_id FROM `bron` WHERE
'2022-03-04 13:00:00' <= end AND '2022-03-04 13:00:00' >= start OR
'2022-03-06 11:00:00' <= end AND '2022-03-06 11:00:00' >= start