sql >> Databáze >  >> RDS >> Mysql

Extrakce dat MySQL ze 3 tabulek - spojení a max

Chcete skupinové maximum :

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

Podívejte se na sqlfiddle .

Všimněte si, že tento dotaz vrací vše videa s maximálním počtem bodů v každém tagu, takže u svázaných tagů bude vrácen více než jeden záznam. Pokud si v takových situacích přejete vrátit pouze jeden záznam, uveďte prosím, jak určit video, které má být vráceno.



  1. MySQL / MariaDB:jak najít mezery v datech založených na čase?

  2. Jak aktualizovat a smazat seznam Zobrazit data v SQLite databázi pomocí click listeneru?

  3. Fluent NHibernate a PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:Zadaná metoda není podporována

  4. Oznamujeme podporu MariaDB 10.2 – ClusterControl 1.5