我正在查找过去一年中发行的门票数量,我的表格如下所示:
create table tickets (
tno int,
fine int,
vdate date,
);
我现在的sqlite代码是这样的:
SELECT COUNT(t.tno)
FROM tickets t
WHERE strftime('%Y', 'now') - strftime('%Y', t.vdate) <=1;
但是,此查询将返回2018年和2019年发出的票证数量。我想将我的时间范围缩小到2018/10/11到2019/10/11 (今天)。
谢谢你的帮助!
发布于 2019-10-11 19:12:29
就像这样
SELECT count(t.no)
FROM tickets AS t
WHERE t.vdate BETWEEN date('now', '-1 year') AND CURRENT_DATE;
有关它们可以接受的所有修饰符,如'-1 year'
,请参阅documentation for date and time functions。
这里假设您的vdate
列包含格式化为YYYY-MM-DD
的日期,如果您已经在strftime()
中使用它,情况可能就是这样,但是在没有示例数据的情况下,最好提及它。
https://stackoverflow.com/questions/58347093
复制相似问题