Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wähle ich maximal 3 Elemente pro Benutzer in MySQL aus?

Mit einer korrelierten Unterabfrage ist das ziemlich einfach:

SELECT `img`.`id` , `img`.`userid`
FROM `img`
WHERE 3 > (
SELECT count( * )
FROM `img` AS `img1`
WHERE `img`.`userid` = `img1`.`userid`
AND `img`.`id` > `img1`.`id` )
ORDER BY `img`.`id` DESC
LIMIT 10 

Die Abfrage geht von dieser größeren id aus bedeutet später hinzugefügt

Korrelierte Unterabfragen sind ein mächtiges Werkzeug! :-)