次のクエリでは、 と を 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
、グループ化後に集計関数が使用されている列にのみ適しています。