0
SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data
ORDER BY id ASC 
WHERE unixtime <= CURDATE() LIMIT 10;

また

SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data
ORDER BY id ASC 
WHERE unixtime < CURDATE() LIMIT 10;

phpAdminが私に言っているのは次のとおりです。

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

4

4 に答える 4

2

ORDER BYandWHERE句が逆になっています。

SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data
WHERE unixtime < CURDATE()
ORDER BY id ASC LIMIT 10;

また

SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data
WHERE unixtime <= CURDATE() 
ORDER BY id ASC LIMIT 10;

WHERE句でエイリアスを参照しているため、問題の一部に気付きました。

WHERE UNIX_TIMESTAMP(timestamp) <= CURDATE() 

また

WHERE UNIX_TIMESTAMP(timestamp) < CURDATE() 
于 2012-05-11T18:22:47.073 に答える
1

次のことを試してください。

SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data 
WHERE UNIX_TIMESTAMP(timestamp) <= CURDATE() 
ORDER BY id ASC LIMIT 10;
于 2012-05-11T18:22:38.020 に答える
1

これを試して

SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime 
FROM data
WHERE (UNIX_TIMESTAMP(timestamp)) < CURDATE() ORDER BY id ASC  LIMIT 10;
于 2012-05-11T18:42:06.690 に答える
0

order by ステートメントの前に where ステートメントが必要です。

于 2012-05-11T18:22:41.387 に答える