mysql计算出来的列,怎么对其计算总数,条件中需要这个列

  1. 表结构及字段含义
    borrow:项目表

       attribute_type:项目类型

    borrow_recover:项目还款表

       plan_recover_time:项目计划还款时间

    plan_dun_time:计划催款时间

  2. 需求
    项目类型1 需要提前五天催款,其余项目需要提前31天催款
    现在需要计算:催款时间在某一段时间内的项目的总数。有点难 不知道怎么弄了。

SELECT
    CASE WHEN b.attribute_type = 1  THEN br.plan_recover_time -43200 ELSE br.plan_recover_time - 2678400 END as plan_dun_time
FROM
    borrow_recover br
JOIN borrow b ON br.borrow_id = b.id

HAVING
(
    plan_dun_time BETWEEN 1456416000
    AND 1459094400
)
阅读 2.5k
1 个回答
SUM(

    IF (
        (
            b.attribute_type = 1
            AND br.plan_recover_time -43200 < 1459094400
            AND br.plan_recover_time -43200 > 1456416000
        )
        OR (
            b.attribute_type != 1
            AND br.plan_recover_time -2678400 < 1459094400
            AND br.plan_recover_time -2678400 > 1456416000
        ),
        1,
        0
    )
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题