In meiner Datenbanktabelle möchte ich die letzten 10 Datensätze abrufen und dann weitere Abfragen für denselben Satz von Ergebnissen durchführen. Die aktuelle Abfrage, die ich habe, ist dies:
SELECT * FROM `listing`
WHERE status = 200
ORDER by created_at DESC
LIMIT 10
Sobald ich diese Ergebnisse habe, möchte ich weitere Abfragen durchführen können, zum Beispiel:
WHERE type_id = 10
Wie gehe ich dabei vor?
Antworten:
4 für die Antwort № 1Sie möchten eine Unterabfrage verwenden:
select . . .
from (SELECT *
FROM `listing`
WHERE status = 200
ORDER by created_at DESC
LIMIT 10
) t
where . . .
0 für die Antwort № 2
Sie können verschachtelte Abfragen in mysql oder einer beliebigen strukturierten / standardmäßigen Abfragesprache verwenden.
Ich gebe dir nur eine naive Idee.
select * from (select * from "listing" where status=200 order by created_at desc limit 10)
Weitere Informationen finden Sie in dieser Dokumentation von mysql