2015-05-19 4 views
0

Я пытаюсь подсчитать общие записи в таблице переменных, это потому, что мне также нужно будет сортировать таблицу. Весь смысл моей проблемы - это запрос, который рассчитает 90-й процентиль. Я получил несколько шагов из Интернета: закажите все значения в наборе данных от самого маленького до самого большого.Подсчитайте записи в таблице переменных temp

Умножьте k процентов на общее количество значений, n.

Этот номер называется индексом.

Если индекс, полученный на этапе 2, не является целым числом, округлите его до ближайшего целого числа и перейдите к этапу 4a. Если индекс, полученный на шаге 2, является целым числом, перейдите к этапу 4b.

4a.Count значения в наборе данных слева направо (от самого маленького до самого большого значения), пока не достигнет числа, указанного на шаге 3.

Соответствующее значение в наборе данных является КТИ процентиль.

4b.Count значения в наборе данных слева направо, пока не достигнет числа, указанного на шаге 2.

Моя ошибка ...

1.DECLARE @TempMarks TABLE 
2.( 
3. mark float 
4.); 

5.INSERT @TempMarks 
6.SELECT mark 
7.FROM Marks 
8.ORDER BY mark ASC 

9.DECLARE @index float 
10.SET @index = 90 * COUNT((SELECT (mark) FROM @TempMarks)) 

... приходит на линии 10:

Невозможно выполнить агрегатную функцию для выражения, содержащего агрегат или подзапрос.

ответ

0

Я хотел бы попробовать следующее:

SET @index = 90 * (SELECT COUNT(mark) FROM @TempMarks) 
Смежные вопросы