Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL, Max, Grupuj według i Max

SELECT  g.*, d.*
FROM    MovieGenre g
        INNER JOIN MovieDetail d
            ON g.MovieID = d.MovieID
        INNER JOIN
        (
            SELECT  a.Genre, MAX(b.Rating) maxRating
            FROM    MovieGenre a
                    INNER JOIN MovieDetail b
                        ON a.MovieID = b.MovieID
            GROUP   BY a.Genre
        ) sub ON    g.Genre = sub.Genre AND
                    d.rating = sub.maxRating

Coś jest nie tak z twoim projektem schematu. Jeśli Movie może mieć wiele Genre jak również Genre może zawierać wiele Movie , powinien to być projekt z trzema stolikami.

Tabela szczegółów filmu

  • Identyfikator filmu (PK)
  • Nazwa filmu
  • Ocena filmu

Tabela gatunków

  • Identyfikator gatunku (PK)
  • Nazwa gatunku

Tabela Movie_Genre

  • MovieID (FK) – złożony klucz podstawowy z GenreID
  • Identyfikator gatunku (FK)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalator MySql Workbench wymaga zainstalowania pakietu redystrybucyjnego Visual C++ 2015, ale jest już zainstalowany

  2. jak wstawić wiele wartości w mysql i uniknąć duplikatów?

  3. Różnice w tygodniach między PHP a MySQL

  4. przekonwertuj moje zapytanie sql na queryexpression lub fetchxml w CRM

  5. Jak zarządzać rolami użytkowników w bazie danych?