我要查询的内容很陌生,因此请帮助我进行此查询。
我想要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
请帮助我,将非常感激。
答案 0 :(得分:0)
假设表名是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