次のクエリでは、 と を 2 次元平面内のオブジェクトの座標として使用してxおりy、原点から半径 80 単位以内にあるオブジェクトのみに結果を制限しようとしています。
SELECT *,POW(x - 0,2) + POW(y - 0,2) AS distanceSquared
FROM objects
WHERE distanceSquared < 6400
ここでのクエリは何らかの理由で機能せず、mysql はunknown column distanceSquared in where clause. ただし、に置き換えるWHEREとHAVING、完全に正常に動作します。なんで?私の知る限りHAVING、グループ化後に集計関数が使用されている列にのみ適しています。