季度查询

image.png

image.png

各位大佬 怎么按照季度去查询数据啊

FineReport yzmknhfW9631117 发布于 2023-1-13 09:10
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-1-13 09:13(编辑于 2023-1-13 09:39)

你这个弄复杂了不是。。。直接季度里面设置显示值敢实际值,sql根本不用union all,只要第一段就可以了

比如显示值 :第一季度    实际值   1-3

mysql里面直接

如果report_date是标准的2022-01-10这样标准的格式,就是月份前面有0

substr(report_date,6,2) between '${left(季度,find("-",季度)-1)} ' and '${mid(季度,find("-",季度)+1,2)} '

image.png

image.png

  • yzmknhfW9631117 yzmknhfW9631117(提问者) 谢谢
    2023-01-13 09:58 
  • yzmknhfW9631117 yzmknhfW9631117(提问者) 您好 我的日期格式是202212这种格式的,按照您上面的方法用了之后每个季度的第一个月查不出来怎么改?
    2023-01-13 13:55 
  • yzmknhfW9631117 yzmknhfW9631117(提问者) 大佬您好 按照您上面的方法可以得出本季度的数据,我想在查询上季度的数据 按照您上面的方法在哪里可以执行减3的操作?
    2023-01-17 10:23 
最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2023-1-13 09:20(编辑于 2023-1-13 09:36)

加上辅助列 然后写上每个季度,然后union all

SELECT A.季度 AS 季度,A.report_date AS report_date

FROM

(--第一季度

SELECT DISTINCT

'第一季度' as 季度,

report_date 

FROM

eva_norm_report 

WHERE

substr(report_date, 1, 4) = '2022'

and substr(report_date,5,6) between '01 ' and '03'

union all

--第二季度

SELECT DISTINCT

'第二季度' as 季度,

report_date 

FROM

eva_norm_report 

WHERE

substr(report_date, 1, 4) = '2022'

and substr(report_date, 5, 6) between '04' and '06'

union all

--第三季度

SELECT DISTINCT

'第三季度' as 季度,

report_date 

FROM

eva_norm_report 

WHERE

substr(report_date, 1, 4) = '2022'

and substr(report_date, 5, 6) between '07' and '09'

union all

--第四季度

SELECT DISTINCT

'第四季度' as 季度,

report_date 

FROM

eva_norm_report 

WHERE

substr(report_date, 1, 4) = '2022'

and substr(report_date, 5, 6) between '10' and '12') A

where 季度 = '第一季度'

最佳回答
0
YmengLv5中级互助
发布于2023-1-13 09:30

如果你使用的是Oracle数据库,可以这样写

image.png

季度下拉框第一季度、第二季度、第三季度、第四季度对应的真实值1、2、3、4

最佳回答
0
langjunLv5见习互助
发布于2023-1-13 09:38

decode(month(trunc(cdt,'Q')), 1,1 ,4,2, 7,3, 10,4)  --显示对应的季度

  • 5关注人数
  • 534浏览人数
  • 最后回答于:2023-1-13 09:39
    请选择关闭问题的原因
    确定 取消
    返回顶部