我试图在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之间的持续时间(在venue_id ='1')= 130分钟。
谢谢。答案 0 :(得分:1)
IN运算符检查左侧的值是否包含在右侧的值集中,并返回布尔结果(0或1)。
您只想直接使用act_time
值;放下act_time IN
。