У меня есть код ниже, который содержит сумму того, где день «GRLastDt» завершен или не заполнен, однако я не учитывал дублированные идентификаторы возврата. Есть ли способ вернуть сумму за день для каждого идентификатора возврата?Sum by Distinct Values
Например, день 24/5/15 может иметь 5 линий в день, у которых есть «X» в «Полном», однако 2 линии имеют дублированные идентификаторы возврата «RtnId», и поэтому общая сумма будет 4, а не 5 для 24/5/15.
SELECT
CONVERT(varchar(15), GRLastDt, 111) AS Date_,
SUM(CASE WHEN Complete = 'X' THEN 1 ELSE 0 END) AS Complete,
SUM(CASE WHEN Complete <> 'X' /*and RtnDt <>GRLastDt*/THEN 1 ELSE 0 END) AS Due
FROM [dbo].[vw_AN_Admin_VendorReturns]
WHERE (GRLastDt >= GETDATE() - 30)
GROUP BY CONVERT(varchar(15), GRLastDt, 111),GRLastDt
Итак, вы хотите удалить повторяющиеся данные? или добавить идентификатор возврата в группу по набору результатов? –
Пожалуйста, отредактируйте свой вопрос с образцовыми данными и желаемыми результатами. –