Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Можно ли после GROUP BY применить WHERE‑фильтрацию? Если нет, то как?
Нельзя — WHERE работает до агрегирования и не видит агрегатные функции. Для фильтрации по результатам GROUP BY используют HAVING, который применяется после группировки и может использовать агрегаты.
Как использовать JOIN, GROUP BY, HAVING в SQL?
JOIN используется для объединения таблиц, GROUP BY — для группировки данных, HAVING — для фильтрации сгруппированных данных. HAVING применяется после группировки, а WHERE — до неё.
Нужно ли в GROUP BY указывать все поля из SELECT? Почему это поведение существует?
Да, в GROUP BY нужно указывать все неагрегированные поля из SELECT. Это правило существует потому, что GROUP BY группирует строки по указанным столбцам, и для каждого агрегирующего столбца (например, SUM, COUNT) должно быть ясно, к какой группе относится результат. Если не включить поле, SQL не сможет определить, какую группу использовать для отображения этого поля.
Алгоритмы агрегации данных — как работает GROUP BY под капотом (на примере CSV-файла без БД)?
GROUP BY работает используя алгоритмы хеширования или сортировки для группировки строк с одинаковыми значениями. При обработке CSV файла, система читает данные построчно, вычисляет хеш ключа группировки и аккумулирует значения для каждой группы. Алгоритм сортировки сначала сортирует данные по ключу группировки, затем агрегирует последовательные строки с одинаковыми ключами. Оба подхода эффективны но используются в разных сценариях.
Что такое GROUP BY в SQL и какие ограничения есть при его использовании?
GROUP BY используется для группировки строк по одному или нескольким столбцам с последующим применением агрегатных функций. Все поля в SELECT, которые не являются агрегатами, должны присутствовать в GROUP BY. Нарушение этого правила приводит к ошибке или неопределённому результату. GROUP BY меняет семантику запроса с построчной на групповую. Использовать его нужно осознанно.
В каком порядке выполняются WHERE, GROUP BY, HAVING, ORDER BY?
Как написать SQL-запрос с GROUP BY и AVG?
Рейтинг:
5
Сложность:
6
SQL-запрос выполняется не в том порядке, в котором он написан. Сначала фильтруются строки через WHERE, затем происходит группировка GROUP BY. После этого применяется фильтрация по агрегатам через HAVING. В самом конце результат сортируется с помощью ORDER BY.
Рейтинг:
4
Сложность:
4
GROUP BY используется для группировки строк по одному или нескольким столбцам.AVG вычисляет среднее значение по группе.
Все неагрегатные поля в SELECT должны быть указаны в GROUP BY.
Такой запрос часто применяется для аналитики и отчётов.
Это базовый, но очень важный SQL-паттерн.
Рейтинг:
2
Сложность:
6
Рейтинг:
5
Сложность:
6
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
6
Рейтинг:
5
Сложность:
6