0
任务:编写查询以生成发票总数,所有发票的发票总计,最小发票金额,最大发票金额和平均值的所有发票。SQL Server中使用最小值,最大值,平均值的子查询
我迄今为止尝试:
SELECT
COUNT(DISTINCT Lines.inv_number) as NumberOfInvoices,
SUM(Lines.line_price * Lines.line_units) as TotalSales,
MIN(SELECT SUM(Lines.line_price * Lines.line_units)
FROM dbo.Lines
INNER JOIN dbo.Invoices ON Invoices.inv_number = Lines.inv_number
GROUP BY Invoices.cus_code) as MinimumSale,
MAX(Lines.line_price * Lines.line_units) as LargestSale,
AVG(Lines.line_price * Lines.line_units) as AverageSale
FROM
dbo.Lines
INNER JOIN
dbo.Invoices ON Invoices.inv_number = Lines.inv_number;
我继续运行时得到一个错误。不知道我是否把子查询放在正确的地方。
什么是你的错误?你有没有考虑过简单地把每个聚合到其自己的子查询?这可能不会产生最佳性能,但满足要求。 – Filburt