SQL语句查询表中一列的平均值,加入并查询另一个表中的相应列

时间:2016-05-04 16:26:45

标签: sql oracle

我有两个表,每个表都设置如下

--------------------------    ---------------------------
|           DVD          |    |          Sells          |
--------------------------    ---------------------------
| dvdid | title | length |    | dvdid | storeid | price |
--------------------------    ---------------------------
|   1   | Alpha |   27   |    |   1   |   100   | 11.99 |
--------------------------    ---------------------------

我试图为每个DVD.title选择Sells.price的平均值,然后选择两者。现在我有以下内容:

SELECT AVG(Sells.price), DVD.title
FROM Sells inner join DVD on Sells.dvdid = DVD.dvdid;

不幸的是,这不起作用,我收到错误"不是单组组功能。我认为这意味着我不能像AVG一样选择一个函数,然后选择一个单独的列。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您需要在DVD.title

中添加Group By
SELECT AVG(Sells.price), DVD.title
FROM Sells inner join DVD on Sells.dvdid = DVD.dvdid
Group by DVD.title --Here