我正在構建一個在附近位置查找物品的購物系統。基本上,每個位置(供應商)在稱爲位置的表中具有條目,具有名稱,緯度,經度和其他的列...然後是項目表,其中具有標識該項目屬於哪個位置的外鍵至。SQL:限制和隨機結果加入
基本上,我想找出所有用戶附近的物品:我可以用下面的查詢做:
但是我想做到以下幾點 - 選擇從該位置隨機 項目 - 限制從每個位置的項目數量只有幾個(比如說5) - 隨機化所有結果,以便它們不按位置分組
這是迄今爲止我所做的必須困難的查詢,即時變得更好但是所以堅持這一個 - 任何幫助,如果非常感謝!謝謝!!
這是到目前爲止我的select語句:
SELECT Location.idLocation
, Location.locationName
, Location.tagline
, Location.tags
, Location.shortAddress
, (3959 * acos(cos(radians('40.181')) * cos(radians(Location.latitude)) * cos(radians(Location.longitude) - radians('-74.0265')) + sin(radians('40.181')) * sin(radians(Location.latitude)))) AS distance
, Item.idItem
, Item.dateAdded
, Item.fidLocation
, Item.itemName
, Item.description
, Item.fullImageName
, Item.thumbnailImageName
FROM
Location
INNER JOIN Item
ON Location.idLocation = Item.fidLocation
HAVING distance < '1000'
'爲了通過蘭特()限制5'是快速/髒/廉價/昂貴方法。 –
是否要隨機從每個位置選擇5個項目,然後如何訂購它們? –
謝謝。是每個地點最多5件物品,而不是總共5件物品。 – dbrateris