如何选择21天(或更长)前的记录?(sqlite)

如何选择21天(或更长)前的记录?(sqlite),sqlite,date,notin,in-subquery,Sqlite,Date,Notin,In Subquery,我试着选择那些已经接受了一剂礼让的患者,他们的下一次服药日期是21天前或更长时间 下面的问题让我想起了每个接受过一剂礼让的人: 选择NHI_id、fname、lname、vac_日期 来自患者 自然接种 天然疫苗 其中疫苗名称=社区 按NHI_id、fname、lname分组 有countvac_date=1 NHI_id 文件名 名字 真空日期 16120419 科莱特 凯里 2021-04-15 16120427 阿瑞莎 利文斯顿 2021-04-02 16120428 克莱顿 湿地 202

我试着选择那些已经接受了一剂礼让的患者,他们的下一次服药日期是21天前或更长时间

下面的问题让我想起了每个接受过一剂礼让的人:

选择NHI_id、fname、lname、vac_日期 来自患者 自然接种 天然疫苗 其中疫苗名称=社区 按NHI_id、fname、lname分组 有countvac_date=1 NHI_id 文件名 名字 真空日期 16120419 科莱特 凯里 2021-04-15 16120427 阿瑞莎 利文斯顿 2021-04-02 16120428 克莱顿 湿地 2021-03-31 16120433 泰勒 巴克利 2021-03-20
在SQLite的最新版本中,我将在此处使用COUNT作为分析函数:

以cte为例 选择NHI_id、fname、lname、vac_日期, 按NHI_id、fname、lname cnt划分的分区上的计数* 来自患者 自然接种 天然疫苗 其中,您的姓名='Comirnaty' 选择NHI_id、fname、lname、vac_日期 来自cte 其中cnt=1,vac_日期<日期“现在”,“21天”; 上述CTE使用COUNT生成每个人的疫苗接种记录数。然后,在下面的查询中,我们将仅限于出现一次Comirnaty疫苗的人员,以及从当前日期起21天或更长时间内出现的单一疫苗接种日期