0

次のクエリがSQLサーバーmanagemengtstudioで機能していますが、phpmyadminでは機能しないようです。何が問題なのか誰にもわかりません。このエラーメッセージが表示されます。「#1064-SQL構文にエラーがあります。マニュアルを確認してください。これは、MySQLサーバーのバージョンに対応しており、7行目の「1google_rank FROM eig_ranking mi WHERE mi.project_id=m.project_」の近くで使用する正しい構文を示しています。

私はMySQLバージョン:5.5.20とphpバージョン5.3.13とマイクロソフトサーバー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の場合、Microsoft SQL Server構文ではなくMySQL構文を記述する必要があります。引数をMySQL形式に置き換えTOP、引数をLIMITなどに置き換えます。DATEDIFFGETDATE()NOW()

于 2012-09-06T12:39:47.667 に答える
1

SELECT TOP nMySQLには表現がありません。

一般に、SQLServerの構文はMySQLの構文とは少し異なります。SQL構文の詳細をMySQLに合わせて調整する必要があります(例:this TOP)。

于 2012-09-06T12:41:19.773 に答える