私のデータベーステーブルでは、最後の10個のレコードを取り出し、この同じ結果セットでさらにクエリを実行します。私が持っている現在の質問はこれです:
SELECT * FROM `listing`
WHERE status = 200
ORDER by created_at DESC
LIMIT 10
これらの結果が得られたら、私はそれらに対してさらにクエリを実行できるようにしたいと考えています。
WHERE type_id = 10
これをどうやって行うのですか?
回答:
回答№1は4サブクエリを使いたい:
select . . .
from (SELECT *
FROM `listing`
WHERE status = 200
ORDER by created_at DESC
LIMIT 10
) t
where . . .
回答№2の場合は0
ネストされたクエリは、mysqlまたは任意の構造化/標準クエリ言語で使用できます。
あなたに素朴なアイデアを提供するだけです。
select * from (select * from "listing" where status=200 order by created_at desc limit 10)
さらなるヘルプについては、このmysqlのドキュメントを参照してください