php - SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;在实时服务器上使用 DENSE_RANK()
问题描述
我正在开发一个简单的 API,当它在我的本地 xampp 中运行时,我的实时服务器上出现语法错误。
SELECT name, DENSE_RANK() over ( order by countries.photo_profile) as countryrank FROM countries
这在我的本地设置上完美运行:PHP 版本:7.4.4 10.4.11-MariaDB
但不是在我的实时服务器设置上:试过 PHP 版本:7.4.11、7.3、7.2 DB:Percona 5.6.40-84.0
错误:
服务器错误","debug":"SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的 '(order by countries.photo_profile) as countryrankFROM countries' 附近使用
有任何想法吗?
解决方案
第一条评论是正确的答案“似乎生产服务器没有支持窗口函数的版本”联系我的提供商后,他们似乎仍然使用没有窗口函数的旧版本的 MySQL,因此我将不得不更改实现的排名系统。
推荐阅读
- google-apps-script - 未找到脚本函数:条目
- javascript - Ruby 范围的 JavaScript 等效代码
- ios - 根据限定符将变量设置为不同的自定义视图(Swift)
- java - Intellij IDE 中如何选择 JDK 10 或 11?
- php - 使用 PDO 在两个不同的表中显示数据
- java - 访问实现类的实例变量
- jsf - 编辑单元格后我无法更新 p:dataTable
- sql - Excel VBA SQL UNION SUM 对具有不同列名的表进行 GROUP BY
- tfs - TFS_Datawarehouse - 接受标准报告
- c# - ListView IsSelected 状态上的 WPF Textwrapping 触发器