cuốn sách gpt4 ai đã làm

MYSQL、Max、Group by 和 Max

In lại Tác giả: Walker 123 更新时间:2023-11-29 05:30:11 26 4
mua khóa gpt4 Nike

我有以下两个表。

1.电影详情(电影ID、电影名称、评分、票数、年份)

2.电影类型(Movie-ID,Genre)

我正在使用以下查询来执行连接并获得每个评分最高的电影流派。

select Movie_Name, 
max(Rating) as Rating,
Genre from movie_test
inner join movie_genre
where movie_test.Movie_ID = movie_genre.Movie_ID
group by Genre

输出中的 Rating 和 Genre 是正确的,但 Movie_Name 不正确。

任何人都可以建议我应该进行哪些更改以获得正确的电影名称以及评级和类型。

câu trả lời hay nhất

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

您的架构设计有问题。如果一个 Movie 可以有多个 GenreGenre 可以包含在多个 Movie 上,它应该是三表设计。

电影详情表

  • 电影 ID(PK)
  • 电影名
  • 电影评级

类型表

  • 流派 ID(PK)
  • 流派名称

Movie_Genre 表

  • MovieID (FK) -- 与 GenreID 的复合主键
  • 流派 ID(FK)

关于MYSQL、Max、Group by 和 Max,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15679857/

26 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress