近くの商品を探すショッピングシステムを構築しています。基本的に、各場所(ベンダー)には、場所と呼ばれるテーブルにエントリがあり、名前、緯度、経度などの列があります。次に、アイテムのテーブルがあり、アイテムが属する場所を識別する外部キーがあります。に。
基本的に、ユーザーの近くにあるすべてのアイテムを検索したいと思います。これは、以下のクエリで実行できます。
ただし、次のことを行いたいと思います-場所からランダムにアイテムを選択します-各場所からのアイテムの数を少数(たとえば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'