テーブルusers
があり、単純な検索クエリがあります。
SELECT *
FROM users
WHERE username LIKE 'rya%'
LIMIT 10
follows
また、基本的に他のユーザーがフォローしているユーザーのリストであるという別のテーブルもあります。上記のクエリを変更して、特定のユーザーがフォローしている範囲内のみを検索するようにしました。
SELECT users.*
FROM follows
INNER JOIN users ON users.id = follows.following_id
WHERE username LIKE 'rya%' AND follows.follower_id = 18
LIMIT 10
ほとんどの場合、上記のクエリはいくつかの結果しか返しません (users テーブル全体を検索していないため)。
私がやりたいことは、上記の 2 つのクエリを組み合わせて、特定の文字列に一致するユーザー名の最大 10 件の結果を返し、最初にユーザーのフォローをリストしてから、ユーザーのテーブル全体を検索することです。
私はすでに解決策を持っていますが、最初に2番目のクエリを実行し、次に最初に2番目のクエリを実行して、アプリケーションレベルでこれを行う必要があります。このすべてを 1 つのクエリで実行できる方法はありますか?
ありがとう