【发布时间】:2023-03-24 02:06:01
【问题描述】:
我正在尝试执行一个很长的 SQL 语句,该语句使用多个用户选项选择“前 N”行。我不想在这里发布整个声明,因为它很长,但我正在使用这篇文章中描述的 MySQL 变量:MySql Query: Select top 3 rows from table for each category
该语句在 MySQL 命令行上运行时运行良好,但我遇到的问题是整个查询必须通过 PDO 连接运行,我想知道是否有人可以确认我无法设置值'on-the-飞”,如下图所示。这是 PDO 限制吗?我只是浪费了几个小时吗?非常感谢您的帮助...
SELECT outerseasons.* FROM (SELECT seasons.CountryName, seasons.idCountry, '' as idCountryGroup, '' as CGName, seasons.DIValue_WorkingEntered,
seasons.SNName, seasons.idSeason, seasons.idParameter, seasons.PMName,
CASE
WHEN @idSeason != seasons.idSeason OR @idParameter != seasons.idParameter
THEN @rownum := 1
ELSE @rownum := @rownum + 1
END AS rank,
@idSeason := seasons.idSeason as var_season,
@idParameter := seasons.idParameter as var_parameter
FROM ( SELECT ...
【问题讨论】:
-
你使用 PDO 准备好的语句吗?
-
不,它是用原生 MySQL 编写的。不是我的错,也没有办法解决它...... :(