【发布时间】:2019-05-01 11:51:42
【问题描述】:
我在 MySQL (phpMYAdmin) 中有一个包含以下列的表
我正在尝试确定每一行的百分位数并更新 G1Ptile 列中的值。 G1Ptile 列是基于 G1% 的百分位数计算。我根据 John Woo 给出的here 的回答使用以下内容
SELECT `G1%`,
(1-ranks/totals)*100 Percentile FROM (
SELECT distinct `G1%`,
@rank:=@rank + 1 ranks,
(SELECT COUNT(*) FROM PCount) totals
FROM PCount a,
(SELECT @rank:=0) s
ORDER BY `G1%` DESC ) s;
并得到以下输出
输出在 select 语句中,我希望能够将其更新到表中的 G1Ptile 列,但是我无法使用
更新它UPDATE `PCount` SET `G1Ptile`= --(All of the select query mentioned above)
您能否帮助修改查询/建议一个替代方案,以便我可以使用通过上述查询获得的百分位值并将其更新为同一张表中的 G1Ptile。我遇到的另一个问题是 G1% 中有两个 20% 的值,但是分配给一个的百分位数是 20,另一个是 30。我希望它们都为 20,系列中的下一行为 30。
【问题讨论】:
标签: mysql sql phpmyadmin percentile