sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo seleccionar un máximo de 3 elementos por usuario en MySQL?

Es bastante fácil con una subconsulta correlacionada:

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 consulta asume que un id más grande significa añadido más tarde

¡Las subconsultas correlacionadas son una herramienta poderosa! :-)