Я пытаюсь создать суммирование на основе количества графов для определенного столбца. Если вы посмотрите на последнюю строку в разделе «Выбор ниже», вы увидите, что я попытался выполнить оператор CASE
. Однако он производит все значения NULL
. По-моему, я понимаю, почему (каждая строка имеет уникальный набор значений), но я не знаю, как исправить мою проблему.Подведение итогов
SELECT
TotalFilesProduced.ReviewDate,
TotalFilesProduced.FileReviewedByUserID,
TotalFilesProduced.FileSource,
TotalFilesProduced.FilesIndexed TotalIndexed,
TotalFilesProduced.FileNumberofPages TotalFileNumberofPages,
TotalFilesProduced.FilesProduced,
CASE WHEN COUNT(DISTINCT FileReviewedByUserID) > 1 THEN SUM(TotalFilesProduced.FilesIndexed) END
FROM
(SELECT
CAST(ibfp.FileReviewedDate AS DATE) ReviewDate,
ibfp.FileReviewedByUserID,
FileSource,
COUNT(*) FilesProduced,
COUNT(DISTINCT ibf.InboundFileID) FilesIndexed,
SUM(CASE WHEN ibfp.FromPage = ibfp.ToPage THEN 1
ELSE ibfp.ToPage-ibfp.FromPage + 1 END) [FileNumberofPages]
FROM
dbo.InboundFilePartitions ibfp
INNER JOIN dbo.InboundFiles ibf ON ibfp.InboundFileID = ibf.InboundFileID
WHERE
CAST(ibfp.FileReviewedDate AS DATE) >= '10/22/2014'
and CAST(ibfp.FileReviewedDate AS DATE) <= '10/22/2014'
and ibf.ProjectID in (110)
GROUP BY
CAST(ibfp.FileReviewedDate AS DATE),
ibfp.FileReviewedByUserID,
FileSource
) TotalFilesProduced
GROUP BY
TotalFilesProduced.ReviewDate,
TotalFilesProduced.FileReviewedByUserID,
TotalFilesProduced.FileSource,
TotalFilesProduced.FilesIndexed,
TotalFilesProduced.FileNumberofPages,
TotalFilesProduced.FilesProduced
Вот пример для дальнейшего уточнения - здесь Идентификатор_пользователь 1036 производства в NULL
это хорошо, так как он появляется только один раз, а для 804 - я хотел бы суммировать TotalIndexed
столбец так NULL
области следует читать 139 (для как экземпляры, появляется 804)
ReviewDate | FilereviewedByUserID | FileSource | TotalIndexed | TotalFileNumberofPages | FilesProduced | (No Column Name) /*My Sum*/
------------------------------------------------------------------------------------------------------------------------------------
2014-10-22 | 804 | 1 | 1 | 67 | 1 | NULL
------------------------------------------------------------------------------------------------------------------------------------
2014-10-22 | 1036 | 1 | 1 | 17 | 1 | NULL
------------------------------------------------------------------------------------------------------------------------------------
2014-10-22 | 804 | 2 | 138 | 3322 | 184 | NULL
Поскольку '' FileReviewedByUserID' и FilesIndexed' находятся в вашем 'оператор GROUP BY' эти суммы никогда не будут более одного. Можете ли вы уточнить, что вы пытаетесь подсчитать? –
FilereviewedByUserID - если пользователь появляется более одного раза (количество - я решил использовать), тогда суммируйте их столбец TotalIndexed – StayPuft
В третий раз. С группой по счету никогда не будет> 1. Голосование закрывается, так как непонятно, что вы пытаетесь сделать. – Paparazzi