在我的本地MySQL服务器(8.0.12)上可以正常运行的MySQL代码片段不适用于Google Cloud SQL。如何在Cloud SQL上使用它?
很明显,问题与OVER()有关,在MySQL 5.7中可能不允许使用OVER(),但是有没有解决的办法?
`SELECT id, impact, PERCENT_RANK() OVER(ORDER BY impact) as percentile_rank
FROM applications;`
答案 0 :(得分:0)
好吧
此处的原因是Google Cloud SQL是MySQL 5.6或5.7的实现,具体取决于您的选择。直到8时,Window函数才会在MySQL中出现,这就是为什么它们只能在您的本地而不是Google上运行的原因。
作为解决方案,您需要执行相关的子查询。您可以在此答案中找到更多信息:Mysql workaround for window functions