Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner un maximum de 3 éléments par utilisateurs dans MySQL ?

C'est assez simple avec une sous-requête corrélée :

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 

La requête suppose qu'un id plus grand signifie ajouté plus tard

Les sous-requêtes corrélées sont un outil puissant ! :-)