小编car*_*gie的帖子

Group By With Rollup 结果表在顶部有总计

我有以下查询,从星期一开始,按周返回一组计数,一行是汇总总数。

select distinct 
    DATEPART(ISO_WEEK, ig.IN_EVT_DT_TM) as B2B_Week,
    count (distinct bm.MISSION_ID) as B2B_Mission,
    count (distinct dl.DRIVER) as Distinct_B2B_Drivers
from 
    DD.B2B_MISSIONS bm
    inner join dd.IN_GATE ig on bm.MISSION_ID = ig.IN_MISSION_ID
    inner join dd.XNS_DRIVER_LOGIN dl on ig.IN_DRIVER_ID = dl.driver 
group by 
    DATEPART(ISO_WEEK, ig.IN_EVT_DT_TM) 
  with rollup
order by 
    DATEPART(ISO_WEEK, ig.IN_EVT_DT_TM)
;
Run Code Online (Sandbox Code Playgroud)

我的结果表如下所示:

B2B_Week    B2B_Mission Distinct_B2B_Drivers
            1647        357
44          717         264
45          930         301
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

B2B_Week    B2B_Mission Distinct_B2B_Drivers
44          717         264
45          930         301
TOTAL       1647        357
Run Code Online (Sandbox Code Playgroud)

问题

  1. 总计行出现在顶部而不是底部。这很可能与第二个问题有关。

  2. 我一直无法使用 CASE 语句返回日期列为 NULL 的“TOTAL”。主要问题是 DATE …

sql-server case group-by

3
推荐指数
1
解决办法
3320
查看次数

标签 统计

case ×1

group-by ×1

sql-server ×1