Я использую GROUP BY CUBE
для вывода Всего мин. для каждого Инцидента # для каждого года.
SELECT
IncidentNumber AS [Incident #]
, SUM(Duration) AS [Total Min.]
, YEAR(EntryDateTime) AS [Year]
FROM TableX
WHERE
GROUP BY CUBE
(
IncidentNumber
, YEAR(EntryDateTime)
)
Но я не хочустроки, где Год равен NULL
, поскольку они являются избыточными для информации из строк, показывающих годы.
ВЫХОД
Итак, я установил это как подзапрос.
SELECT * FROM
(
SELECT
IncidentNumber AS [Incident #]
, SUM(Duration) AS [Total Min.]
, YEAR(EntryDateTime) AS [Year]
FROM TableX
WHERE
GROUP BY CUBE
(
IncidentNumber
, YEAR(EntryDateTime)
)
) T
WHERE T.Year IS NOT NULL;
Есть ли альтернатива, где я могу отфильтровать NULL
, не делая этот подзапрос?
Если яиспользуйте GROUP BY ROLLUP Я все еще получаю NULL.