Процентиль в sql server 2008 r2 - PullRequest
       9

Процентиль в sql server 2008 r2

0 голосов
/ 30 октября 2018

Я новичок в запросе, поэтому, пожалуйста, помогите мне с этим запросом. Я хочу процентиль из трех столбцов в SQL Server 2008 R2, если это невозможно в SQL Server 2008 R2, тогда phpMyAdmin - это еще один вариант

Ниже приведен пример столбцов:

A   J   C
5   1   1
1   5   4
3   22  10
3   1   3
5   103 117
3   20  156
4   3   1
37  2   9
1   2   18

Пожалуйста, помогите мне, это будет очень благодарно.

1 Ответ

0 голосов
/ 30 октября 2018

Предполагая, что ваша таблица имеет имя table1, вы можете использовать следующий SQL-запрос с аналитическими функциями, где A, J, C - имена столбцов таблицы.

select A/sA*100.0 PA,J/sJ*100.0 PJ,C/sC*100.0 PC from ( select A,sum(A) over () sA,J,sum(J) over() sJ,C,sum (C) over() sC from table1 )

Другая версия того же запроса без использования аналитических функций (протестирована с MySQL 5.7) - это следующее, которое использует перекрестное соединение:

select (T.A/X.sA)*100 as PA,(T.J/X.sJ)*100 as PJ,(T.C/X.sC)*100 as PC from table1 T cross join (Select sum(A) as sA,sum(J) as sJ,sum(C) as sC from table1) X

...