我有以下查询,从星期一开始,按周返回一组计数,一行是汇总总数。
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)
问题
总计行出现在顶部而不是底部。这很可能与第二个问题有关。
我一直无法使用 CASE 语句返回日期列为 NULL 的“TOTAL”。主要问题是 DATE …