获取在phpmyadmin上运行的microsoft server 2008 sql查询

时间:2012-09-06 12:37:16

标签: php mysql sql phpmyadmin

我有以下查询在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

2 个答案:

答案 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)。