Sql Server 分组统计并合计总数及WITH ROLLUP应用

站长资源 2025-05-15 09:28www.dzhlxh.cnseo优化

在报表制作中,当我们需要展示包含小计和合计的数据时,ROLLUP 运算符显得尤为强大。它的功能类似于 CUBE 运算符,能够为我们生成包含多维度分析的结果集。今天,我们将深入如何使用 Sql Server 中的 ROLLUP 运算符来实现分组统计并合计总数。

假设我们有一张名为 [ExternalOrder] 的表,其中包含订单信息。我们想要统计不同 [Source] 的订单数量,并且要求这些订单满足特定的条件:订单状态为1,支付检查为1,并且订单日期在指定的范围内。

以下是使用 ROLLUP 运算符的 SQL 查询代码:

```sql

SELECT

[Source],

COUNT() AS OrderTotal

FROM

[ExternalOrder]

WHERE

OrderStatus=1

AND CheckPayment=1

AND TicketDate >= '2012-11-1'

AND TicketDate < '2012-12-1'

GROUP BY

[Source]

WITH ROLLUP

ORDER BY

[Source] DESC;

```

以下是结果集的示例:

```yaml

Source | OrderTotal

--|-

ZongHengV2 | 215

ZongHeng | 3889

YixingSky | 3919

YiSkyV2 | 901

Wanggou | 1034

Uni800 | 1151

TaoBao | 3876

ShanglvPT | 897

Shanglvbao | 426

Qunar | 9878

PiaoMeng | 429

KuXun | 1549

JinRi | 2661

HangTuo | 140

HangLvTong | 7

EasyGo | 501

Aooxing | 5458

AirPP | 3299

yi | 8677

Book | 2401

NULL | 19479 (合计)

```

在这个结果集中,我们可以看到每个 [Source] 的订单数量,以及所有满足条件的订单总数的合计。这对于制作包含小计和合计的报表非常有用,可以帮助我们更清晰地了解数据的分布情况。

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板