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

Extracción de datos MySQL de 3 tablas:uniones y máx.

Quiere el grupo máximo :

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

Véalo en sqlfiddle .

Tenga en cuenta que esta consulta devuelve todos videos que tengan la cantidad máxima de puntos dentro de cada etiqueta, por lo que se devolverá más de un registro para las etiquetas empatadas. Si desea devolver solo un registro en tales situaciones, especifique cómo determinar el video que debe devolverse.