これら2つの異なるクエリがあります。
このクエリは、返信カウンターに従って「posts」テーブルからレコードを取得します。このクエリでは、返信のある投稿のみが返されます。
SELECT posts.title, posts.num, posts.status, COUNT( posts_replies.post_num) AS count
FROM posts_replies
INNER JOIN posts ON ( posts_replies.post_num = posts.num )
WHERE posts.status = 1
AND posts.category='uncategorized'
GROUP BY posts.num
そして、これは上記のクエリとマージして、gps に従ってレコードをプルおよびソートする新しいクエリです。
SELECT num, title, ( 3959 * acos( cos( radians( 37 ) ) * cos( radians( lat ) ) * cos( radians( lon ) - radians( -122 ) ) + sin( radians( 37 ) ) * sin( radians( lat ) ) ) ) AS distance
FROM posts
HAVING distance <75
ORDER BY distance
このクエリは、緯度と経度の列を使用して、ユーザーの半径 75 マイル内にあるレコードを返します。
私はSQLの専門家ではなく、両方のクエリをマージして次の基準を持つ結果を収集する方法がわかりません:
- 返信のある投稿のみを返す
- 距離で並べ替え
- 返信数で並べ替え
どんな助けでも大歓迎です。
ありがとう!