2013-12-16 127 views
1

我有以下查詢調用表列,也計算對象之間的距離,但我顯示最後一行附近的錯誤group by但不明白爲什麼?查詢錯誤MySQL

SELECT *, filename, c.name as category, d.name as parent, 
      (3959 * acos(cos(radians(53)) * cos(radians(i.latitude)) * cos(radians(i.longitude) - radians(-0.1)) + sin(radians(53)) 
      * sin(radians(i.latitude)))) AS distance from items i 
      join item_images ii on i.item_id=ii.item_id 
      join categories c on i.category=c.category_id 
      join categories d on i.cat_parent=d.category_id 
      HAVING distance < 15 
      group by i.item_id order by distance limit 18 
+0

什麼是錯誤信息? – ApplePie

+3

'group by'需要在'having'之前出現。 – cHao

+2

操作順序錯誤。 FROM JOIN WHERE GROUP BY HAVING ORDER BY –

回答

2

開關次序子句:首先是GROUP BY,然後跟着HAVING。

+1

Arrgh!我知道查詢是正確的,你是正確的,非常感謝 –

+1

我的意思是「種」/「接近」的權利! (避免燃燒)再次感謝 –