#sql #ssms
#sql #ssms
Вопрос:
Я использовал этот запрос, но он дает мне процент только от одного проекта.
SELECT
100.0 * COUNT(CASE WHEN Proj = 'abc' AND ID = '101' THEN Update END) /
COUNT(CASE WHEN ID = '101' THEN proj END) AS percentage
FROM Updates;
Комментарии:
1. Пожалуйста, предоставьте примеры данных и желаемые результаты.
Ответ №1:
Немного неясно, чего вы хотите. Если вам нужна пропорция внутри проекта:
SELECT Proj,
AVG(CASE WHEN ID = '101' THEN 100.0 ELSE 0 END) as percentage
FROM Updates
GROUP BY Proj;
Если вам нужна пропорция по всем проектам:
SELECT Proj,
COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () as percentage
FROM Updates
WHERE ID = 101
GROUP BY Proj;