Я работаю над запросом, но не могу понять, как выполнить определенную операцию.
У меня есть таблица, в которой я выбираю людей в зависимости от их региона, их возраста и четырех видов деятельности.
Итак, я выбираю людей, сгруппированных по регионам, среднему возрасту и сумме всех видов деятельности. с целью выбора основного вида деятельности из
4. Для региона. Поэтому мои данные возвращаются как
region number avgage a1 a2 a3 a4 needed?
----------------------------------------------------
A 5 45 3 4 1 5 a4
B 4 23 1 8 2 6 a2
SQL
SELECT
C.gri,COUNT(A.ID) AS num,
AVG(CONVERT(INT, ROUND(DATEDIFF(HOUR, dob, GETDATE()) / 8766.0, 0))) AS AveAge,
SUM(CASE WHEN gender = 'male' THEN 1 ELSE 0 END) AS Male,
SUM(CASE WHEN gender = 'female' THEN 1 ELSE 0 END) AS Female,
SUM(CAST(a1 AS INT)) AS a1,
SUM(CAST(a2 AS INT)) AS a2,
SUM(CAST(a3 AS INT)) AS a3,
SUM(CAST(a4 AS INT)) AS a4,
FROM
profiile A
INNER JOIN
city B ON A.city = B.id
INNER JOIN
region C ON B.gri = C.id
GROUP BY
C.gri
То, что я пытаюсь сделать, - это способ получить столбец needed
.
Благодарен за любую помощь, которая может быть оказана.