Mysql を使用すると、次のステートメントが機能します。
SELECT *, ABS(UNIX_TIMESTAMP(time) -
UNIX_TIMESTAMP('2013-11-14 14:35:21') ) as diff from Alert
order by diff
limit 3
しかし、次のように where 句を追加すると、「'where 句' の列 'diff' が不明です」というエラーが発生します。
SELECT *, ABS(UNIX_TIMESTAMP(time) -
UNIX_TIMESTAMP('2013-11-14 14:35:21') ) as diff from Alert
where diff < 2
order by diff
limit 3
次のように、Having 句を使用するようにステートメントを変更します。
SELECT *, ABS(UNIX_TIMESTAMP(time) -
UNIX_TIMESTAMP('2013-11-14 14:35:21') ) as diff from Alert
order by diff
having diff<2
それはまだ私に与えています SQL構文にエラーがあります。4 行目の「having diff<2」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。