Задавайте вопросы, мы ответим
Вы не зашли.
Хочу сделать выборку: вывести пользователей добавленных 'сегодня' и тех у которых есть созданные сегодня сообщения.
Делаю так:
Неактивен
Попробуйте следующее
1. Убрать users.* из запроса. Получать только id, а остальную информацию уже потом.
2. Убрать OR - посмотреть на то, как будут работать 2 отдельных запроса. Выполнить их через UNION. Нужен составной индекс на (user_group, reg_date)
Неактивен
UNION не поддерживается говорит, из-за версии MySQLя наверно (5.5). А запросы поотдельности работают нормально
Неактивен
Какая ошибка возникает? Приведите ее текст, так как UNION есть во всех версиях MySQL.
Неактивен
1 The used SELECT statements have a different number of columns
Неактивен
Приведите запрос. Скорее всего разное количество колонок выбираете в первом и втором случаях. Желательно выбирать только user_id
Неактивен
(SELECT * FROM users WHERE user_group='7' and reg_date >= ('2015-02-06 07:00:00')) UNION (SELECT * FROM users JOIN us_kom ON users.user_id=us_kom.us_id WHERE us_kom.dat_kom >= ('2015-02-06 07:00:00') ORDER BY users.user_id DESC)
Неактивен
В первом случае выбираете только из users, а во втором из двух таблиц. Замените звездочку на `users`.`user_id`
Неактивен
Большое спасибо! Все зароботало! 282мс
Неактивен
а добавил индексы - 34мс! )
Неактивен