Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como selecionar no máximo 3 itens por usuários no MySQL?


É muito fácil com uma 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 

A consulta assume que um id maior significa adicionado mais tarde

Subconsultas correlacionadas são uma ferramenta poderosa! :-)