Идентификатор столбцов, обновление, проект. Мне нужна круговая диаграмма, в которой указаны проценты обновлений разных проектов в базе данных для конкретного сотрудника

#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;