【发布时间】:2019-04-10 20:19:06
【问题描述】:
我需要提供使用数据,并且需要按月汇总。
在我的代码中,我只查看 2018 年 1 月的数据,因此根据当前数据集找到 Max 和 Min 非常简单。如果我要在 2018 年全年扩展它,我目前会显示全年的 MAX 和 MIN。
SELECT DISTINCT
bi_vwn_co_acct,
bi_consumer_view_1.bi_format_name,
bi_srv_loc.bi_city,
bi_srv_loc.bi_st,
bi_srv_loc.bi_x_coord,
bi_srv_loc.bi_y_coord,
bi_interval_rdgs.bi_mtr_nbr,
MAX (bi_interval_rdgs.bi_rdg),
MIN (bi_interval_rdgs.bi_rdg),
(MAX (bi_interval_rdgs.bi_rdg) - MIN (bi_interval_rdgs.bi_rdg))
AS monthusage
FROM bi_srv_loc
INNER JOIN bi_srv_link
ON bi_srv_loc.bi_srv_loc_nbr = bi_srv_link.bi_srv_loc_nbr
INNER JOIN bi_type_service
ON bi_srv_link.bi_srv_loc_nbr = bi_type_service.bi_srv_loc_nbr
INNER JOIN bi_consumer_view_1
ON bi_type_service.bi_acct = bi_consumer_view_1.bi_vwn_co_acct
INNER JOIN bi_interval_rdgs
ON bi_srv_link.bi_mtr_nbr = bi_interval_rdgs.bi_mtr_nbr
WHERE bi_interval_rdg_dt_tm >= '01-JAN-2018'
AND bi_interval_rdg_dt_tm <= '31-JAN-2018'
AND bi_type_service.bi_srv_stat_cd IN ('1',
'7',
'18',
'21',
'22',
'30')
GROUP BY bi_consumer_view_1.bi_vwn_co_acct,
bi_consumer_view_1.bi_format_name,
bi_srv_loc.bi_x_coord,
bi_srv_loc.bi_y_coord,
bi_interval_rdgs.bi_mtr_nbr,
bi_srv_loc.bi_city,
bi_srv_loc.bi_st
我希望得到一个看起来像这样的数据列表:
ACCT1 JAN MONTHUSAGE: 10
ACCT1 FEB MONTHUSAGE: 13
ACCT1 MAR MONTHUSAGE: 12
...
ACCT2 JAN MONTHUSAGE: 23
ACCT2 FEB MONTHUSAGE: 18
我的代码中显然显示了更多字段,但总的来说这是我所追求的。不知何故,我需要能够通过给定的日期范围并按月划分。任何帮助或指导将不胜感激!
【问题讨论】:
-
向我们展示一些示例表数据和预期结果。全部为格式化文本,而不是图像。 (开始之前先看看stackoverflow.com/help/mcve。)