是否可以构造包含SELECT
的{{1}}语句
使用“下一行”中某列的值的子句?
我有一个日期和时间字段date_entered。
即。给定一个带有名为“date_entered”的字段的表
以下值我想要一个选择行的SELECT语句
“WHERE
”
我尝试了Post但没找到我正在看的内容。
答案 0 :(得分:1)
如果您的记录是按时间顺序排序的,那么您可能会遇到如下查询:
SELECT
t1.*,
min(t2.date_entered) as next_row_date
from mytable t1
join mytable t2
/* ON nothing */
where t1.id < t2.id
and t1.date_entered > NOW()
group by t1.id
having t1.date_entered <= next_row_date
如果你确实需要下一行日期......你可能会通过子查询获得更好的结果。像
这样的东西SELECT
t1.*,
from mytable t1
where t1.date_entered > NOW()
and t1.date_entered < ( SELECT date_entered from mytable t2 where t2.id > t1.id limit 1)