Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36

[уровень наверно сложный] верны ли мои знания и sql по ним

15.01.2020, 23:52. Показов 729. Ответов 5

Студворк — интернет-сервис помощи студентам
SQL
1
WHERE (`id` IN (1,4,5,567,3563546) AND `n`>60) AND (`id` NOT IN (2,7,5,577,35635) AND `n`>60)
Это выведет данные где '`id` IN' ' `n`>50' при этом отфильтровав(исключив) 'id` NOT IN' ' `n`<50'.
Это так?



Ниже описал для себя задачу

имеется табл.
`id_1``type``id_1``n`
id > 0
type > 0
n это 0-100
`id_1` может иметь `id_2`=1 and `id_2`=4

надо вывести
`id_1`, count(`n`) as `count_n` sort by `count_n` desc LIMIT 40 OFFSET 0
по условиям
type in (9,6,45)
включив
`id_1` где (`id_2` IN (1,2, ...) AND `n`>60)
при этом исключить
`id_1` где (`id_2` IN (4,7, ...) AND `n`>60)

Добавлено через 12 минут
SQL
1
2
3
4
5
6
7
8
9
10
SELECT  `table_2`.`id_1`, COUNT( `table_2`.`n`) AS `total`
FROM (
  SELECT `id_1`, `id_2`, `n`
  FROM `table`
  WHERE (`id` IN (1,4,5,567,3563546) AND `n`>60) AND (`id` NOT IN (2,7,5,577,35635) AND `n`>60)
) AS `table_2`
WHERE 
GROUP BY `table_2`.`id_1`
ORDER BY `total` DESC
LIMIT 40 OFFSET 0
Добавлено через 4 минуты
Для таких запросов наверно кеширование можно отключать?!
Это возможно как то оптимизировать?

Добавлено через 4 минуты
тема сложна по причине того что нужны глубокие знания
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2020, 23:52
Ответы с готовыми решениями:

Верны ли мои записи.матрицы
Подскажите, верны ли мои записи.. 1)Дана динамическая матрица размером , где M -четное - правильно ли это записала: A=new double; ...

Дополните мои знания (структуры и перечисления)
Здравствуйте. Изучаю основы ООП C++. Хочу сделать вот какую штуку! 1) Хочу выкладывать исходники на C++ по заданной теме из ООП. 2)...

Упростить Мои Кривые знания по Math
function rewriteValSQL (){ $q = mysql_query(&quot;SELECT GMT,id FROM timezones_public&quot;); while ($r = mysql_fetch_assoc($q)){ ...

5
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
16.01.2020, 16:36
Давай рассмотрим
MySQL
1
WHERE (`id` IN (1,4,5,567,3563546) AND `n`>60) AND (`id` NOT IN (2,7,5,577,35635) AND `n` > 60)
Во первых n > 6 дублируется, что не имеет смысла, это тоже самое, что и
MySQL
1
WHERE  `n` > 60 AND `id` IN (1,4,5,567,3563546) AND `id`  NOT IN (2,7,5,577,35635)
Теперь смотри, первое условие исключает второе. Предположим у тебя есть запись где
`n` 61 и `id` 2

`id` IN (1,4,5,567,3563546) не пропустит его и not in(...) бессмысленный

Поэтому все условие можно свести к
MySQL
1
WHERE  `n` > 60 AND `id` IN (1,4,5,567,3563546)
1
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36
16.01.2020, 17:41  [ТС]
crautcher, приводишь 1 частный случай из 3.
1. есть в IN, нет в NOT IN
2. есть в NOT IN, нет в IN
3 Есть и там и тут(теоретически можно отфильтровать во время генерации sql)

подзапрос излишен
SQL
1
2
3
4
5
6
SELECT  `id_1`, SUM( `n`) AS `total`
FROM `table`
WHERE (`id_2` IN (1,4,5,567,3563546) AND `n`>60)
GROUP BY`id_1`
ORDER BY `total` DESC
LIMIT 40 OFFSET 0
и как убрать те строки `id_1` где (`id_2` NOT IN (...) AND `n`>60)
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
16.01.2020, 17:46
Цитата Сообщение от kikuri Посмотреть сообщение
3 Есть и там и тут
Аксиома: то, что есть и там и тут не выберится никогда.
MySQL
1
where id in(1) and id not in(1)
выражение, которое никогда ничего не даст
1. есть в IN, нет в NOT IN
2. есть в NOT IN, нет в IN
Это одно и тоже, если чего-то нет в in() то оно не выберется, не зависимо от твоего not in()
1
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36
16.01.2020, 18:00  [ТС]
SQL
1
2
3
4
5
6
7
SELECT SQL_NO_CACHE  `id_1`, SUM( `n`) AS `total`
FROM `table`
WHERE (`id_2` IN (1,4,5,567,3563546) AND `n`>60) 
  AND NOT EXISTS (SELECT `id_1` FROM `table` WHERE `id_2` IN (7,978) AND `n`>60 LIMIT 1) 
GROUP BY`id_1`
ORDER BY `total` DESC
LIMIT 40 OFFSET 0
0
1234 / 424 / 107
Регистрация: 31.03.2012
Сообщений: 1,159
17.01.2020, 09:32
Цитата Сообщение от kikuri Посмотреть сообщение
Есть и там и тут
Мне кажется, что ТС не понимает сути двоичной (троичной) и ИЧСХ ваатще какой либо логики.

Не по теме:

И да, я тоже не понимаю, что нужно ТС

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2020, 09:32
Помогаю со студенческими работами здесь

Оцените мои знания веб разработчика пожалуйста
Вообщем ситуация такая. Я уже около года занимаюсь веб разработкой, и сейчас хочу попробовать устроится на работу, но не уверен достаточно...

Поднять уровень знания языка
Здравствуйте. Вообщем, проблема следующая, как поднять уровень владения языком до нормального. Был сегодня на собеседовании, что бы...

Нужен тест на уровень знания Excel
Всем привет. Делаю небольшой тест на знание Excel. Как сделать, чтобы при запуске файла, происходил вызов UserForm1 с TextBox для ввода...

Какой у меня уровень знания C++? Для специалистов
Опыта работы нет. Хочу написать резюме на стажера, но не знаю что написать про C++. Как мне кажется почти весь синтаксис C++ я знаю....

Мои мысли о Java (уровень - zero)
Здравствуйте дорогие друзья! Хочу поделить с вами своими мыслями и суждениями в области программирования. Занимаясь самостоятельным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru