【发布时间】:2019-08-08 05:23:03
【问题描述】:
这是最初的问题:
编写一个 SELECT 语句来计算已售出的曲目数量(如 InvoiceLine 表中所示),并显示每个曲目的 TrackId 和计数以及总体总数。
有两个表有问题(Track)和(Invoiceline)。这两个表共享一个 TrackId 的主键。
Track 表有 9 列 > TrackId, Name, AlbumId, MediaTypeId, GenreId, Composer, Milliseconds, Bytes, UnitPrice
InvoiceLine 表有 5 列 > InvoicelineId, InvoiceId, TrackId, UnitPirce, Quantity
我的查询是这样的:
SELECT COUNT(TrackId), TrackId FROM InvoiceLine;
但我相信这个查询不适合这个问题。 欢迎任何意见!
【问题讨论】:
-
记得
GROUP BY TrackId -
“但我认为这个查询不适合这个问题。” 实际上,您的查询应该是无效的,并且按照 SQL 标准应该给出错误,但 MySQL 允许这些语句。除非 TrackId 是唯一列,否则可以使用 Functional Dependence .. 就像 @Daniel 提到它看起来你需要
GROUP BY TrackId在这里 -
好的,谢谢大家!将对此进行更多研究。
标签: mysql