我試圖從我的數據庫分組項目只返回一個地圖項列表,如果組數大於4,否則我不想要分組的項目。組如果COUNT(*)> X,否則不分組項目
我的項目是爲返回設置區域內的所有條目而構建的,我將使用分組將該區域分解爲網格。如果網格中的每個單元格的結果太多,那麼我將使用組計數顯示組標記,而不是單個輸入標記。
我目前的查詢工作,以確定是否存在由COUNT(*)
SELECT *, COUNT(*) as groupCount, floor(longitude/0.0007) AS groupLong, floor(latitude/0.0007) AS groupLat
FROM items
WHERE longitude>=151.1
AND longitude<=151.2
AND latitude>=-33.9
AND latitude<=-33.8
GROUP BY floor(longitude/0.0007), floor(latitude/0.0007)
我想這樣做的唯一一組分組的項目中的項目,如果組數> 4個項目的組中< = 4將作爲未分組項目返回。
我知道我可以使用HAVING COUNT(*)>4
只返回5個和5個以上的組,但是我能做些什麼來返回4個和4個以下的組中的未分組項?
我會很樂意做兩個查詢來獲得結果,但如果有一種方法在一個這樣做,那將是偉大的!
如果您有切換數據庫引擎的選項,這將是一個很好的窗口函數用例。 MySQL不支持它們(我可以找到),但PostgreSQL卻支持它們。 –