如何获取累积数据?我试图在SQL中获得以下水平,但没有得到期望的结果/Pyspark
因此,<30 的铲斗值不会在 <60 等中显示。我怎样才能做到这一点
case when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 29 then '<30'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 59 then '<60'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 89 then '<90'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 179 then '<180'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) > 180 then '>180'
end
else 'bad_date'
So that <30 bucket vales are not being shown in <60 and so on. how can I achieve this
case when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 29 then '<30'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 59 then '<60'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 89 then '<90'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) between 0 and 179 then '<180'
when DATEDIFF((to_date('2022-01-07', 'yyyy-MM-dd')),max(to_date((column), 'yyyy-MM-dd'))) > 180 then '>180'
end
else 'bad_date'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需更改您的条件之间
Just change your between conditions