0

以下のCOUNT(*)クエリでは、50 未満usersの行数ではなく、テーブル内の行数のカウントを選択しています。distance

users距離が 50 未満の行数ではなく、クエリがテーブル内の行数を選択する理由を教えてください。

ありがとうございます。

SELECT COUNT(*), ( 6371 * ACOS( COS( RADIANS( 51.61050836267012 ) ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS( - 0.23701071739196777 ) ) + SIN( RADIANS( 51.61050836267012 ) ) * SIN( RADIANS( latitude ) ) ) ) 
AS distance
FROM  `users` 
AS `u`
HAVING distance <=50
4

3 に答える 3

2

HAVINGGROUP BY表現に関係しているはずです。行数を特定の基準に制限するには、次を使用しますWHERE distance <= 50

于 2012-05-27T17:30:31.553 に答える
0

having 句は、count 関数の where 句のように行をフィルタリングしません。代わりにサブクエリを使用してみてください。

于 2012-05-27T17:34:46.157 に答える
0

HAVING集計値(特定の条件を持つsum(column) など)WHEREで機能HAVINGします

于 2012-05-27T17:32:14.600 に答える