powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужна помощь. Я в недоумении.
14 сообщений из 14, страница 1 из 1
Нужна помощь. Я в недоумении.
    #39307023
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Есть таблица(см. файл) и 2 запроса:
1) SELECT * FROM `test2` WHERE `VALUE`!=264;
2) SELECT * FROM `test2` WHERE `VALUE`=264;

Результаты их работы также на скрине.

Я хочу получить для 1-го запроса значения ID только 5 и 6(что логично для человека), запрос выдаёт 5,6,7(что в соответствии с запросом логично для машины).

Помогите, как переделать 1-й запрос, чтобы он выдавал только 5,6.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307025
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79WHERE `VALUE`!=264;dmaytry79Я хочу получить для 1-го запроса значения ID только 5 и 6(что логично для человека)Я, наверное, не человек. Для меня не логично хотеть одно, а писать другое.

Опишите задачу целиком.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307026
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Представим, что ID - CLAIM(ID заявки), а VALUE - SELLER(ID продавца)

Фактически мне нужно получить 2 набора:
1-й набор - заявки, принадлежащие продавцу с SELLER=264(это номер 7);
2-й набор - заявки, не принадлежащие продавцу SELLER=264(это номера 5,6).

Вот такая задача.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307033
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry791-й набор - заявки, принадлежащие продавцу с SELLER=264(это номер 7);
Код: sql
1.
SELECT id FROM `test2` WHERE `VALUE`=264



dmaytry792-й набор - заявки, не принадлежащие продавцу SELLER=264(это номера 5,6).
Код: sql
1.
2.
3.
SELECT DISTINCT id
FROM `test2` t1 LEFT JOIN `test2` t2 ON t1.id=t2.id AND t2.`VALUE`=264
WHERE t2.id IS NULL
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307045
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое за ответ.
Однако этот запрос виснет на выборке в 150 тыс записей - выполняется бесконечно долго.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307063
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79Однако этот запрос виснет на выборке в 150 тыс записей - выполняется бесконечно долго.Показывайте DDL таблицы и план запроса.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307073
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я разобрался. Использую другой запрос:

Код: plsql
1.
SELECT DISTINCT id FROM `test2` WHERE id NOT IN (SELECT id FROM `test2` WHERE `VALUE`=262);

0.17199 сек.

Код: plsql
1.
2.
3.
SELECT DISTINCT t1.id
FROM `test2` t1 LEFT JOIN `test2` t2 ON t1.id=t2.id AND t2.`VALUE`=262
WHERE t2.id IS NULL;

2.3572 сек.

через LEFT JOIN дольше в 10(!) раз!!!

Большое спасибо, miksoft за конструктивный диалог!
Индексировать надо было оба поля, тогда запросы не повисают!
Век живи, век учись!
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307077
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79через LEFT JOIN дольше в 10(!) раз!!!Не должно быть так, обычно наоборот бывает.

Какая версия MySQL?
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307078
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
SELECT VERSION()

5.1.73-log
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307092
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaytry79
Код: plsql
1.
SELECT VERSION()


5.1.73-logТогда тем более LEFT JOIN должен быть быстрее.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307123
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
SELECT id
FROM test2
GROUP BY id
HAVING SUM(value=264) = 0
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307182
dmaytry79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, большое спасибо!

Просто гениальный запрос!
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307299
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос-то красив, спору нет. Вот только медленный, ибо потребует полного сканирования всей таблицы.
...
Рейтинг: 0 / 0
Нужна помощь. Я в недоумении.
    #39307311
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или индекса (id, value[, ...]), буде такой имеется.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужна помощь. Я в недоумении.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]