0
SELECT DATEDIFF(dd, (SELECT date FROM player WHERE 
date = (SELECT MAX(date) FROM player WHERE name = 'Deuslegio') 
AND name = 'Deuslegio'), CURDATE())

基本的に、私がやろうとしているのは、特定のプレーヤー名の最新の行レコードの日付を取得し、今日の日付との差を取得することだけです。しかし、GoDaddy の phpMyAdmin によると、次のエラーが発生しています。

エラー: SQL 構文にエラーがあります。1 行目の「CURDATE())」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2

0

クエリを大幅に簡素化できます。これはあなたのクエリです(を削除することで修正されますdd

SELECT DATEDIFF((SELECT date
                 FROM player
                 WHERE date = (SELECT MAX(date) FROM player WHERE name = 'Deuslegio'
                              ) AND name = 'Deuslegio'
                ), CURDATE()
               )

以下は同等です。

SELECT DATEDIFF((SELECT date
                 FROM player
                 WHERE name = 'Deuslegio'
                 order by date desc
                 limit 1 
                ), CURDATE()
               )
于 2013-07-09T00:10:43.183 に答える