我有以下查询在sql server managemengt工作室上工作,但它似乎不适用于phpmyadmin,任何人都可以找出错误,它会给出此错误消息“#1064 - 您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行“1 google_rank FROM eig_ranking mi WHERE mi.project_id = m.project_”附近使用正确的语法“
我使用的是MySQL版本:5.5.20和php Version 5.3.13以及microsoft server 2008
SELECT project_id,
google_rank,
COALESCE(
(
SELECT TOP 1 google_rank
FROM eig_ranking mi
WHERE mi.project_id = m.project_id
ORDER BY
project_id
), 0 - google_rank AS movement
,keyword
,domain
FROM eig_ranking m where DATEDIFF(WEEK,rank_date, GETDATE())= 1 and google_rank!=0
order by movement desc
答案 0 :(得分:3)
您的数据库是MySQL,然后您需要编写MySQL语法而不是Microsoft SQL Server语法 - 将TOP
替换为LIMIT
,将DATEDIFF
参数替换为MySQL格式{{ 1}}与GETDATE()
等等
答案 1 :(得分:1)
MySQL上没有SELECT TOP n
表达式。
一般来说,SQL Server语法与MySQL略有不同。您必须将SQL语法详细信息调整为MySQL(例如此TOP
)。