0

我在 sql server managementmengt studio 上有以下查询,但它似乎不适用于 phpmyadmin,任何人都可以找出问题所在,它给出了此错误消息“#1064 - 您的 SQL 语法有错误;请查看手册对应于您的 MySQL 服务器版本,以便在第 7 行的 '1 google_rank FROM eig_ranking mi WHERE mi.project_id = m.project_' 附近使用正确的语法

我正在使用 MySQL 版本:5.5.20 和 php 版本 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
4

2 回答 2

3

如果您的数据库是 MySQL,那么您需要编写 MySQL 语法而不是 Microsoft SQL Server 语法 - 替换TOPLIMIT,以及DATEDIFFMySQL 格式的参数,GETDATE()withNOW()等。

于 2012-09-06T12:39:47.667 回答
1

MySQL 上没有SELECT TOP n表达式。

一般来说,SQL Server 的语法与 MySQL 的语法略有不同。您必须将 SQL 语法细节调整为 MySQL(例如 this TOP)。

于 2012-09-06T12:41:19.773 回答