Select 来自过去三个月以来没有任何记录的数据库
Select from database where there aren't any records since the last three months
我需要 select 我的 table 中的违约公司(自 10 月以来未注册付款的公司)
这是我的 table 的示例:
id
company_id
deposit_date
year
month
1
578
2021-10-12
2021
10
2
254
2021-11-17
2021
11
3
465
2021-12-15
2021
12
4
159
2022-01-12
2022
1
我必须使用月份作为参考,而不是 deposit_date
任何帮助将不胜感激。提前致谢。
您可以使用 select 和 where 子句来过滤数据
检查那些最后一次付款是在 2021 年 11 月之前的人
drop table if exists t;
create table t(id int,company_id int,deposit_date date,year int,month int);
insert into t values
(1 ,578 ,'2021-10-12' ,2021 ,10),
(2 ,254 ,'2021-11-17' ,2021 ,11),
(3 ,465 ,'2021-12-15' ,2021 ,12),
(4 ,159 ,'2022-01-12' ,2022 ,1);
select company_id ,year*100+month
from t
group by company_id
having max(year*100+month) < 202111;
我需要 select 我的 table 中的违约公司(自 10 月以来未注册付款的公司)
这是我的 table 的示例:
id | company_id | deposit_date | year | month |
---|---|---|---|---|
1 | 578 | 2021-10-12 | 2021 | 10 |
2 | 254 | 2021-11-17 | 2021 | 11 |
3 | 465 | 2021-12-15 | 2021 | 12 |
4 | 159 | 2022-01-12 | 2022 | 1 |
我必须使用月份作为参考,而不是 deposit_date
任何帮助将不胜感激。提前致谢。
您可以使用 select 和 where 子句来过滤数据
检查那些最后一次付款是在 2021 年 11 月之前的人
drop table if exists t;
create table t(id int,company_id int,deposit_date date,year int,month int);
insert into t values
(1 ,578 ,'2021-10-12' ,2021 ,10),
(2 ,254 ,'2021-11-17' ,2021 ,11),
(3 ,465 ,'2021-12-15' ,2021 ,12),
(4 ,159 ,'2022-01-12' ,2022 ,1);
select company_id ,year*100+month
from t
group by company_id
having max(year*100+month) < 202111;