【问题标题】:SQLite query select between 2 records on same conditionSQLite查询在相同条件下的2条记录之间进行选择
【发布时间】: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 转换为分钟。

标签: sqlite time count between


【解决方案1】:

IN 运算符检查左侧的值是否包含在右侧的值集中,并返回布尔结果(0 或 1)。

您只想直接使用act_time 值;删除act_time IN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2020-08-29
    • 2013-02-20
    • 2020-06-21
    相关资源
    最近更新 更多