sql - 检查特定日期的变量
问题描述
我有一个三列的表:start_date
, client_id
, active
.
我需要检查条件:如果上个月的用户有active = 1
,并且当时start_date
active = 0
,则分配值 1 ,否则 - 0
表中的日期是半年的切片,我只需要检查日期从06.01.2021
我怎样才能做到这一点?
解决方案
一种选择可能是这样的:
select *
from your_table a
where a.active = 0
and a.date_column = :par_certain_date
and a.id in (select b.id
from your_table b
where b.id = a.id
and b.active = 1
and b.date_column= add_months(:par_certain_date, -1)
)
推荐阅读
- php - httpclient .post() 方法没有响应
- python - 如何使用 scikitlearn 交叉验证对模型进行平均
- sql-server - 试图创建一个列,但它也创建了一个无用名称的默认约束
- javascript - 加载资源失败:400(错误请求)React/GraphQL/Sequelize
- http - jwt解析失败后反向代理失败请求
- php - 有没有办法比较在 php mysql 中存储为字符串值的时间值?
- javascript - 我该怎么做才能只访问特定的表
- python - 如果为正,熊猫将负值与先前的值相加
- javascript - 如何使用 javascript 调用 MVC 控制器函数
- debugging - chrome 调试 cucumber-js 而不是功能