在Sqlite中运行查询时,答案为9.9但这不是正确的答案

问题描述

[https://www.sqlitetutorial.net/sqlite-sample-database/]

我写了这段代码是为了回答“专辑“ Big Ones”的总价是多少?”

SELECT  al.Title,i.Total,tr.albumid,SUM(tr.UnitPrice)
FROM ((((artists ar INNER JOIN albums al ON ar.ArtistId = al.ArtistId)
INNER JOIN tracks tr ON al.AlbumId = tr.AlbumId)
INNER JOIN invoice_items ii ON tr.TrackId = ii.TrackId)
INNER JOIN invoices i ON ii.invoiceid = i.invoiceid)
WHERE al.Title = 'Big Ones'

我将SUM(tr.UnitPrice)称为9.9

但是9.9是错误的。正确的答案应该是什么?

使用来自Chinook数据库的表。上面提供了链接。

解决方法

您必须对专辑所有曲目的单价求和,因此只需要2张表:albumstracks
加入他们,汇总:

select a.title,sum(t.unitprice) total_price
from albums a inner join tracks t 
on t.albumid = a.albumid
where a.title = 'Big Ones'
group by a.title

即使省略group by子句,您也可以获得相同的结果。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...