[英]Defaulting value of MySQL cell to the value in the previous row
我想知道是否可以通过SELECT
查询将某些列中的值默认为上一行中该列中的值。
有点难以说明我的意思,我正在处理的表很大而且很复杂,但是基本上,表foo
和bar
通过foo.order_id
和bar.order_id
,然后有一个bar.box_id
包含框,并在两个框上进行左外部 bar.box_id
将为bar.box_id
拉一些NULL值,所以我想基本上将那个单元格中的值默认为先前的bar.box_id
谢谢!
听起来您的问题不太复杂,无法提供简单的示例架构和所需的结果集。 也就是说,在对您实际要执行的操作进行了几次假设(信息不足)之后,您将不得不修复数据或运行性能很差的子查询。
SELECT
order_id,
(
SELECT bar.box_id
FROM bar
WHERE foo.order_id <= bar.order_id
ORDER BY bar.box_id DESC
LIMIT 1
) as box_id
FROM foo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.