- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Друзья, имеем вот такой запрос
SELECT tc.* , t.user_id FROM `talk_city` tc LEFT JOIN talk t ON t.talk_id = tc.talk_id where tc.talk_id >= 39483 && tc.talk_id <= 40037
результат
Отображение строк 0 - 24 (545 всего, Запрос занял 0.0003 сек.)
ДАЛЬШЕ вот такой запрос
SELECT tc.* , t.user_id FROM `talk_city` tc LEFT JOIN talk t ON t.talk_id = tc.talk_id where tc.talk_id >= 39483 && tc.talk_id <= 40037 && t.user_id <> 43669
Отображение строк 0 - 24 (516 всего, Запрос занял 0.0003 сек.)
Логично предположить что user_id = 43669 будут записи 545 - 516 = 29
Но...
SELECT tc.* , t.user_id FROM `talk_city` tc LEFT JOIN talk t ON t.talk_id = tc.talk_id where tc.talk_id >= 39483 && tc.talk_id <= 40037 && t.user_id = 43669
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0002 сек.)
Как такое может быть?
Следующий запрос это предположение опровергает, условие "не равно 43669" не дает гарантии, что в исключенном множестве есть записи с "= 43669"
Следующий запрос это предположение опровергает, условие "не равно 43669" не дает гарантии, что в исключенном множестве есть записи с "= 43669"
первые два дают!
есть множество от 39483 до 40037, будем считать это единым целым, для упрощения (и к примеру 1000 записей)
значит делаем обычный селект получаем 1000 записей.
дальше пишем, есть ли среди тех тем, темы котрая не равна, к примеру 1.
<>1 , те отображаем все темы которые не равны 1
к примеру их 990.
а значит 10 этих тем будут с id=1
а значит при селекте =1 будет выведено 10 записей.
что хотели сказать вы я не понял.
Такой запрос что отдает?
У вас таблица t через LEFT JOIN джойнится, там просто null будет в некоторых записях. Попробуйте условие is null. Хотя не уверен.
тему можно закрыть. спасибо.
модераторы удалите пожалуйста.
условие "не равно 43669" не дает гарантии, что в исключенном множестве есть записи с "= 43669"
Запросы аналогичны за исключением "не равно 43669", почему же тогда количество строк разные?
ТС, ждем комментарий.
Запросы аналогичны за исключением "не равно 43669", почему же тогда количество строк разные?
ТС, ждем комментарий.
мне стыдно, в запросе у меня айди 43669 а поиск проводил по 43699
а в остальном прав предыдущий оратор