sql >> Database teknologi >  >> RDS >> Mysql

MySQL dataudtræk fra 3 tabeller - joins og max

Du vil have det gruppevise maksimum :

SELECT * FROM Video JOIN (

  SELECT   VideoTags.tag_id, MAX(points) points
  FROM     Video JOIN VideoTags ON Video.id = VideoTags.video_id
  GROUP BY VideoTags.tag_id

) t USING (points) JOIN Tags ON t.tag_id = Tags.id

Se den på sqlfiddle .

Bemærk, at denne forespørgsel returnerer alle videoer med det maksimale antal point inden for hvert tag, så mere end én post vil blive returneret for bundne tags. Hvis du kun ønsker at returnere én optagelse i sådanne situationer, bedes du angive, hvordan du bestemmer, hvilken video der skal returneres.



  1. Codeigniter, mysql, select_max og tilføj 1 før du indsætter endnu en post

  2. Quickstart databasemigrering ved hjælp af Talend

  3. Nulstil MySQL root-adgangskoden ved hjælp af ALTER USER-sætning efter installation på Mac

  4. skift mysql til pdo og gem resultatet i variabel