MySQL与最大表行分组的一对多表关系

时间:2019-07-09 19:32:12

标签: mysql one-to-many

图书审阅之后有三个表格。 图书馆里有一本书,每本书可能都有一本评论。 图书馆 Book 有一对多的关系,而 Book Review 具有一对一的关系。

Library 
id  | name
-----------
1   | A
2   | B

Book
id  | name | library_id
-----------------------
1   | W    | 1
2   | X    | 1
3   | Y    | 2
4   | Z    | 2
5   | U    | 2


Review
id  | rating | book_id | details   | created_at
--------------------------------------------------------
1   | 4.3    | 1       | Good Book | 2019-06-07 00:00:00
2   | 1.5    | 2       | Bad Book  | 2019-06-07 01:00:00
3   | 3.3    | 3       | Good Book | 2019-06-07 01:00:00
4   | 1.5    | 4       | Bad Book  | 2019-06-07 02:00:00
5   | 3.3    | 5       | Best Book | 2019-06-07 03:00:00

我想获取每个图书馆评价最高的最新书评。这里最高评价是指最高评价评论,最新是指最近创建的评论,每个图书馆只有一个书评。喜欢

Result
id  | rating | book_id | details   | library_id | library_name
--------------------------------------------------------------
1   | 4.3    | 1       | Good Book | 1          | A
5   | 3.3    | 5       | Best Book | 2          | B

我已经使用order by rating desc and created_at desc解决了评价最高的最新书评。但是找不到方法如何获取每个库的顶级评论吗?

0 个答案:

没有答案