sql >> Databasteknik >  >> RDS >> Mysql

Hur väljer man maximalt 3 objekt per användare i MySQL?

Det är ganska enkelt med en korrelerad underfråga:

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 

Frågan antar att större id betyder läggs till senare

Korrelerade underfrågor är ett kraftfullt verktyg! :-)



  1. MySQL COALESCE och NULLIF Funktion

  2. ett MYSQL-skript för att konvertera kolumnnamnen till gemener

  3. C# med MySQL INSERT-parametrar

  4. Hur använder man RETURNING med ON CONFLICT i PostgreSQL?