SQLite查询在相同条件下的2条记录之间进行选择
Posted
技术标签:
【中文标题】SQLite查询在相同条件下的2条记录之间进行选择【英文标题】:SQLite query select between 2 records on same condition 【发布时间】:2015-03-08 05:17:56 【问题描述】:我正在尝试在 1 个表上的两条记录之间计数(以分钟为单位),并且 WHERE 子句是相同的条件。
_id | venue_id | act_time | status |
1 | 1 | 13:30 | 0 |
2 | 1 | 15:40 | 1 |
3 | 2 | 13:03 | 0 |
4 | 2 | 16:06 | 1 |
当我执行这样的查询时:
SELECT _id, venue_id, status, (julianday(act_time IN (SELECT act_time FROM reports WHERE venue_id='1' AND status='1')) - julianday(act_time))*1440 AS duration FROM reports WHERE venue_id='1' AND status='0'
但是,结果显示错误的计算
请帮我解决这个问题的正确查询是什么?
所以,如果我计算 15:40 - 13:30 之间的持续时间(在场地 ID='1')= 130 分钟。
谢谢。
【问题讨论】:
天数为什么要乘以1440? 我不确定。我只想将 julianday 转换为分钟。 【参考方案1】:IN 运算符检查左侧的值是否包含在右侧的值集中,并返回布尔结果(0 或 1)。
您只想直接使用act_time
值;删除act_time IN
。
【讨论】:
以上是关于SQLite查询在相同条件下的2条记录之间进行选择的主要内容,如果未能解决你的问题,请参考以下文章