Назад к вопросам
Senior
3
- вывести список имен, указав в первом столбце имя, - во втором столбце количество посетителей с таким именем, - в третьем столбце количество посетителей с таким именем и старше 27 лет - отсортировать по имени в порядке возрастания (A-Z) SQL code example: ```sql create table customers ( id int, name text, age int ); insert into customers values (1, 'John', 20), (2, 'John', 20), (3, 'John', null), (4, 'John', 37), (5, 'Jane', null), (6, 'Bob', 13), (7, 'Bob', 99); SELECT name, COUNT(*) AS total, COUNT(CASE WHEN age > 27 THEN 1 END) AS older_27 FROM customers GROUP BY name ORDER BY name ASC; ```
Компании, где спрашивали
Salmon
Ответ от нейросети
sobes.tech AI
Приведённый SQL-запрос корректно решает поставленную задачу:
- В первом столбце выводится имя.
- Во втором — общее количество посетителей с этим именем.
- В третьем — количество посетителей с этим именем и возрастом старше 27 лет.
- Результат отсортирован по имени в алфавитном порядке.
Вот пример запроса:
SELECT
name,
COUNT(*) AS total,
COUNT(CASE WHEN age > 27 THEN 1 END) AS older_27
FROM customers
GROUP BY name
ORDER BY name ASC;
Если возраст может быть NULL, то условие age > 27 автоматически исключит такие записи из подсчёта в older_27, что соответствует логике задачи.