Sql 创建显示客户订单的过程:汇总各个年份的订单数量和金额。程序输入时的客户ID
我的程序有问题,因为我不知道如何计算各个年份的订单数量Sql 创建显示客户订单的过程:汇总各个年份的订单数量和金额。程序输入时的客户ID,sql,sql-server,northwind,Sql,Sql Server,Northwind,我的程序有问题,因为我不知道如何计算各个年份的订单数量 CREATE PROCEDURE Orders @id VARCHAR(10) AS SELECT unitprice * quantity Amount, Count([order details].orderid), Year(orderdate) FROM [order details] INNER JOIN orders
CREATE PROCEDURE Orders @id VARCHAR(10)
AS
SELECT unitprice * quantity Amount,
Count([order details].orderid),
Year(orderdate)
FROM [order details]
INNER JOIN orders
ON [order details].orderid = orders.orderid
WHERE customerid = @id
GROUP BY unitprice * quantity,
Year(orderdate),
[order details].orderid
我必须按年份分组,但我不知道怎么做。请帮帮我:)这是你想要的吗
SELECT YEAR(o.OrderDate) as yyyy,
SUM(od.UNITPRICE*od.QUANTITY) as Amount,
count(*) as num_orders
FROM [Order Details] od INNER JOIN
Orders o
on od.OrderID = o.OrderID
WHERE o.CustomerID = @id
GROUP BY Year(OrderDate);
注:
- 为
中的所有列指定一个别名,以便您知道它们应该做什么SELECT
- 表别名使查询更易于编写和读取
- 限定所有列名,以便知道它们来自哪个表
中的唯一表达式应该是分组依据
中的未聚合列选择