質問

のONLY_FULL_GROUP_BY のモードで実行する場合は、

、私はエラーが次のクエリを実行するとき、「非グループ化フィールド 『距離』がのはのHAVING句で使用されている」を取得します。クエリは、特定の緯度・経度の15km離れた距離内にあるホテルの量をカウントします。私はエラーを取得しないように、この問合せをリライトする方法は、のONLY_FULL_GROUP_BY のモードではもうありませんか?

SELECT count(id) as total, (foo * 100) AS 'distance'
FROM `hotels` 
WHERE `lng` between 4.56 and 5.08 and `lat` between 52.22 and 52.65 
HAVING `distance` < 15
役に立ちましたか?

解決

追加のWHERE句にHAVINGを変更します:

WHERE `lng` BETWEEN 4.56 AND 5.08 AND `lat` BETWEEN 52.22 AND 52.65 
AND `distance` < 15

私は、MySQLはWHERE句(この場合はdistance)にエイリアス列名を使用してサポートしているかはわかりません。ない場合は、ちょうどに変更します:

AND (foo * 100) < 15
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top