因此,假设我想在结果集中总共添加5列,例如:
Name, Date, Color, Price, TotalSales
Run Code Online (Sandbox Code Playgroud)
名称,日期,颜色和价格都存储在一个表中,因此我将从该表中获取每一行.
SELECT * FROM AwesomeStuff
Run Code Online (Sandbox Code Playgroud)
但是,TotalSales需要根据另一个表中的值的SUM计算,并且需要组合的值必须与AwesomeStuff表中的行的ID匹配.
SELECT SUM(SalePrice) FROM AwesomeSales
Run Code Online (Sandbox Code Playgroud)
AwesomeSales表中的每一行都有一个与AwesomeStuff表中的单个项匹配的ID.所以我想将所有SalePrice值加到一个列中,并将它与AwesomeStuff查询中的正确行匹配,这样我就可以得到单个结果集.
这是如何运作的?除了查询,你能解释一下SQL用简单的英语做什么,这样我才能理解将来如何再次编写这种类型的SELECT?
谢谢.
您可以执行GROUP BY操作以按"AwesomeStuff"项目对结果进行分组:
SELECT
A.Name,
A.Date,
A.Color,
A.Price,
SUM(S.SalePrice) AS TotalSales
FROM
AwesomeStuff A
INNER JOIN
AwesomeSales S
ON
S.AwesomeStuffId = A.Id
GROUP BY
A.Name,
A.Date,
A.Color,
A.Price
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5207 次 |
| 最近记录: |