摆烂不好但很快乐 2023-04-26 10:08 采纳率: 71.4%
浏览 30
已结题

(sql)逻辑梳理:筛选同环比绝对值大于50%的数据

sql遇到的业务逻辑,先mark,有空再用用例测试一下。
需要筛选同环比绝对值大于50%的数据;
前情提要:

  • hbl = ( avgh - avgq ) / avgq
  • tbl = ( avgh - avgtb ) / avgtb
  • avgq、avgtb有些为空有些为0

前人写的代码:

where case when avgq is not null and avgq <> 0 
      then abs(hbl) > 0.5
      case when (avgq is null or avgq = 0) 
             and avgtb is not null 
             and avgtb <> 0 
      then abs(tbl) > 0.5
      end

我的想法:

where (avgq is not null and avgq <> 0 and abs(hbl) > 0.5) 
or (avgtb is not null and avgtb <> 0 and abs(tbl) > 0.5)

不知道两种写法有什么不同,恕我愚笨,不知道什么天才会有where case when 的想法,如有靓仔靓女闲着没事,欢迎讨论。

  • 写回答

1条回答 默认 最新

  • Watch the clown 2023-04-26 13:48
    关注

    你好像逻辑没解释的通。

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 专家已采纳回答 5月13日
  • 创建了问题 4月26日