Базы данных. MySQL. Select: GROUP, HAVING

preview_player
Показать описание
Презентация:

Задачи:

Вводный курс по базам данных.

В этом занятии будет:
- Оператор DISTINCT
- Конструкция GROUP BY
- GROUP BY и агрегационные функции
- GROUP BY и WHERE
- GROUP BY и HAVING

Рекомендации по теме
Комментарии
Автор

Ответы по задачам:

SELECT worker_id, SUM(salary)FROM `salaries` GROUP BY worker_id;
SELECT worker_id, AVG(salary) as salary FROM `salaries` WHERE (date<"2020-03-01") GROUP BY worker_id ORDER BY salary DESC;
SELECT MONTH(date) as month, AVG(salary) FROM `salaries` GROUP BY month;
SELECT MONTH(date) as month, SUM(salary) as sum FROM `salaries` GROUP BY month HAVING sum >=2000;
SELECT COUNT(tag_id) as count, tag_id FROM `tags_tasks` GROUP BY tag_id ORDER BY count DESC;
SELECT COUNT(tag_id) as count, tag_id FROM `tags_tasks` GROUP BY tag_id ORDER BY count DESC LIMIT 1 OFFSET 1;
SELECT worker_id, COUNT(end_at) as count FROM `tasks` WHERE end_at is not null and worker_id not in (11, 12) GROUP BY worker_id ORDER BY count DESC;
SELECT MONTH(date), DAY(date), SUM(salary) FROM `salaries` GROUP BY MONTH (date), DAY(date);

wsg
Автор

Теперь и я присоединюсь к благодарящим))
Наконец-то, я увидела внятное объяснение ошибки с группировкой, спасибо!!!

Eliz_ign
Автор

очень ДУШНО.
неопытным не будет понятно, опытные не поймут зачем это

truetaras
Автор

я хз что это за дядька. но если бы в свое время он был моим учителем, я бы уже пентагон вертел, их сервера мне бы биткоины майнили. реально очень классная подача контента!

IT_psychopath
Автор

Чувак ты лучший, с меня подписка и лайк !!!

Dimavolc
Автор

Я чувствую, как становлюсь программистом

websoda
Автор

4:30 Кстати, в MS SQL в данном случае будет выбрано первое по очереди значение из таблицы. То есть, если в таблице workers есть, допустим, два разнорабочих по имени Пётр и Ваня и если в этой таблице разнорабочий Ваня будет первее того же Петра, то при таком запросе просто выберется Ваня, вроде как

earlbasset
Автор

возникает вопрос а что целесообразнее то и быстрее? обрабатывать полученные данные на каком либо языке программирования или же пусть обрабатывает майскл и выдает уже готовый список в мой язык программирования? (например вычисление сумм и тд и тп конкатенации и так далее)

dedpihto
Автор

Скажите, пожалуйста, на 2:20 я так понял, что если взять отдельно зарплаты у Автомеханика и Разнорабочего, то получится 21500 и 15500 соответственно?
Суть агрегирования sum такая, что для каждой профессии выдаётся тут сумма зарплат по данной профессии, верно? Или я что-то не понимаю?

earlbasset
Автор

"Возможно захочется сделать такие вещи - применять условие на агрегацию и эта штука так просто не сработает.. потому что с агрегацией эти вещи просто-напросто не работают". Хотелось бы подробнее всё-таки узнать и затем понять почему, это же просто так не работает)

raduwka
Автор

Почему вам так не понравился Таблицы и связи в Дизайнере не понимаю, очень наглядно, и связи сразу можно выстраивать тамже.
А также для удобства чтения ключей удобнее FK, PK использовать... чем название таблицы_id... конечно глаза разбегаются)

Наблюдаю много ошибок... не выдержала ))
в group by multiple например:
Price, Prices ... а также это 2 разные колонки SUM и FROM ...

А так все отлично! Главное без воды и самолюбования )))

disol
Автор

Антон, Вы своих стажёров так обучаете, или курсы джунов?

basicom
Автор

Скажите, а где задачки, которые надо ходить решать?

amelikrotova
visit shbcf.ru