如何可视化SQL查询结果,仅展示Calendar_month_number为4、5、6的3行数据?
实现建议
你需要可视化表格仅展示Calendar_month_number为4、5、6的3行数据,当前SQL因按DAY_NUMBER_IN_MONTH分组,会返回每月内每天的汇总行,导致行数过多。可按以下方式修改:
修改后的SQL语句
select s.PROD_ID, t.CALENDAR_MONTH_NUMBER, sum(s.AMOUNT_SOLD) as TOTAL_AMOUNT_SOLD from CUSTOMERS c join SALES s on c.CUST_ID = s.CUST_ID join TIMES t on s.TIME_ID = t.TIME_ID where s.PROD_ID = 5 and t.CALENDAR_MONTH_NUMBER in (4, 5, 6) -- 直接指定目标月份,比时间范围更精准 and t.TIME_ID between '01-APR-00' and '30-JUN-00' -- 调整时间范围到6月底,避免包含7月数据 group by s.PROD_ID, t.CALENDAR_MONTH_NUMBER having sum(s.AMOUNT_SOLD) > 0;
关键调整说明
- 简化分组维度:去掉
DAY_NUMBER_IN_MONTH,仅按产品ID和月份分组,确保每个月份只返回一行汇总数据 - 精准锁定月份:用
in (4,5,6)直接筛选目标月份,避免时间范围边界可能带来的误差 - 修正时间范围:原条件
BETWEEN '01-APR-00'and '01-JUL-00'会包含7月1日数据,调整为'30-JUN-00'确保仅获取4-6月的有效数据
执行上述SQL后,就能得到你需要的3行数据,分别对应4、5、6月的销售额汇总。
内容的提问来源于stack exchange,提问作者Jony_Junior
相关产品推荐
相关产品推荐

