我正在尝试执行一个非常长的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 ...
答案 0 :(得分:0)
PDO与SQL语法有关。它可以执行您编写的任何SQL查询 唯一的麻烦可能是由查询集引起的。通过将这些集合拆分为单独的查询并逐个运行,可以轻松解决这个问题。
只有SQL语法错误导致的其他问题 只需验证您的SQL语法和watch PDO errors