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条记录之间进行选择的主要内容,如果未能解决你的问题,请参考以下文章

如何提高 SQLite 数据库的性能?

从每组 sqlite 中选择前 n 条记录

如何提高SQL Server大数据条件下的查询速度?

“kotlin”sqlite 查询一条记录

sqlite数据库怎么进行多表连接查询,表之间有相同的字段,除了改字段名称,还有啥办法吗

当必须根据条件对记录进行分组时如何选择最多 x 行