Я пытаюсь использовать PERCENTILE_DISC с рядом других встроенных функций агрегата. Код, который я пытаюсь читается как это, но он не:Использование PERCENTILE_DISC с функциями агрегации
SELECT
[DataPoint] AS [DataPoint],
MIN([Value]) AS [Value MIN],
MAX([Value]) AS [Value MAX],
AVG([Value]) AS [Value AVG],
PERCENTILE_DISC(0.5)
WITHIN GROUP
(ORDER BY [Value])
OVER
(PARTITION BY [DataPoint])
AS MedianCont
FROM [Table] AS [Table]
WHERE ([DataPoint]
IN (
...
)
)
GROUP BY [DataPoint]
Так это работает ...
SELECT
Distinct [DataPoint],
PERCENTILE_DISC(0.5)
WITHIN GROUP
(ORDER BY [Value])
OVER
(PARTITION BY [DataPoint])
AS MedianCont
FROM [Table] AS [Table]
WHERE ([DataPoint]
IN (
...
)
)
И это работает ...
SELECT
[DataPoint] AS [DataPoint],
MIN([Value]) AS [Value MIN],
MAX([Value]) AS [Value MAX],
AVG([Value]) AS [Value AVG]
FROM [Table] AS [Table]
WHERE ([DataPoint]
IN (
...
)
)
GROUP BY [DataPoint]
Но когда я пытаюсь чтобы объединить их, он хочет, чтобы я объявлял Value
в предложении Group By
, чего я не хочу, потому что мне нужен отдельный список DataPoint
, а не значение за DataPoint
.
Column 'Value' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.