SQL MIN(),MAX()和AVG

时间:2015-12-07 22:52:41

标签: mysql sql

我试图在一个数据集上使用MIN,MAX和AVG函数,它从一个表中显示一本书的标题," book"然后计算每个标题的最小,最大和平均评级(按1-10的等级)。我的表看起来像这样:

图书

ISBN | Title
12345 | Title1
45678 | Title2

和 的书评

ISBN | Rating
12345 | 4
45678 | 7
12345 | 9

我希望输出看起来像:

Title | Min Rating | Max Rating | Average Rating

我尝试过使用MIN(),MAX()和AVG(),然后用ISBN上的INNER JOIN连接这两个表,但我没有把它们全部打印在一起。我现在打印所有书籍的最低评级(每本书打印4张),我希望它打印每个特定标题的最低评级。任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

select b.Title, min(br.rating) as `Min Rating`,
    max(br.rating) as `Max Rating`, avg(br.rating) as `Average Rating`
from book b
inner join bookreview br on br.isbn = b.isbn
group by title

答案 1 :(得分:1)

您需要连接表格,选择列并按标题分组:

SELECT   TITLE, MIN(RATING), MAX(RATING), AVG(RATING)
FROM     BOOK B
JOIN     BOOK REVIEW BR ON BR.ISBN = B.ISBN
GROUP BY TITLE