如何按多列之和排序
How to order by the sum of multiple columns
我有一个按月计算总销售额的查询,
select 子句的基础如下所示
SELECT
MID.menu_item_id,
ISNULL(SUM(ISNULL(CASE WHEN CSD.tendered_date_time BETWEEN
CONVERT(datetime,'2016-07-01 06:00:00:000') AND CONVERT(datetime,'2016-08-01
05:59:59:999')THEN CID.consumed_quantity END,0)),0)
AS [JUL],
这会循环到不同的月份。我想对所有这些月的总数求和,然后按此总和以降序方式排序 - 因此我们有一个列表 menu_item_ids 按他们的总销售额排序。
您将添加另一列:
SELECT MID.menu_item_id,
SUM(CID.consumed_quantity) as total
SUM(CASE WHEN CSD.tendered_date_time BETWEEN
CONVERT(datetime,'2016-07-01 06:00:00.000') AND CONVERT(datetime, '2016-08-01
05:59:59.999') THEN CID.consumed_quantity ELSE 0 END) AS [JUL],
. . .
. . .
ORDER BY SUM(CID.consumed_quantity) DESC;
我有一个按月计算总销售额的查询,
select 子句的基础如下所示
SELECT
MID.menu_item_id,
ISNULL(SUM(ISNULL(CASE WHEN CSD.tendered_date_time BETWEEN
CONVERT(datetime,'2016-07-01 06:00:00:000') AND CONVERT(datetime,'2016-08-01
05:59:59:999')THEN CID.consumed_quantity END,0)),0)
AS [JUL],
这会循环到不同的月份。我想对所有这些月的总数求和,然后按此总和以降序方式排序 - 因此我们有一个列表 menu_item_ids 按他们的总销售额排序。
您将添加另一列:
SELECT MID.menu_item_id,
SUM(CID.consumed_quantity) as total
SUM(CASE WHEN CSD.tendered_date_time BETWEEN
CONVERT(datetime,'2016-07-01 06:00:00.000') AND CONVERT(datetime, '2016-08-01
05:59:59.999') THEN CID.consumed_quantity ELSE 0 END) AS [JUL],
. . .
. . .
ORDER BY SUM(CID.consumed_quantity) DESC;