【发布时间】:2021-10-20 09:34:39
【问题描述】:
拥有以下数据库:
尝试执行以下查询:
select *
from data_five_minutes
where ((open in (select open
from data_five_minutes
where date_time = '2019-01-02 13:15:00')) >
(open in (select open
from data_five_minutes
where date_time = '2019-01-01 11:10:00')))
上面的查询给了我 3 个结果,但我期待 0 个!
我尝试获取的是:- 获取 02/01 13:15 的开盘时间 > 01/01 11:10 开盘的行,两者的 script_id 相同。
【问题讨论】:
-
我不确定投反对票的目的是什么,但通常是因为使用图像作为示例数据。
-
02/01 13:15的开盘小于01/01 11:10的开盘。
-
你的条件对我来说真的没有意义。它归结为
where one_boolean_expression > other_boolean_expression,因为(open in (...))产生真或假,它不返回来自IN运算符的子查询的值。 -
@forpas 是的,它应该给出 0 结果的原因。
-
@a_horse_with_no_name 对不起,我听不懂你,如果这是一种不好的执行查询类型,你能帮我举个与我的情况相关的例子吗?我会尝试从那里创建。
标签: sql postgresql date exists