我有一个产品表
Start End
A M
M T
T F
我需要获取输入值的所有前面的值。例如,如果输入为T,则查询应返回A,M。如果输入为M,则应返回A.对于F,输出应为A,M,T。我已尝试自联接但无法获得结果
答案 0 :(得分:1)
答案不是很多,但评论太长了......
(MySQL 8.0除外)MySQL没有内置的递归。相反,选项包括:
以下是第一个选项的示例:
答案 1 :(得分:0)
您可以添加订单列以标识前面的列。例如primary key
喜欢id也会起作用。之后,您可以执行类似
SELECT GROUP_CONCAT(start) preceding_val FROM table_name WHERE id < (SELECT id FROM table_name WHERE end=your_value)
这将为您提供一行,其中包含您给定结束值的所有前面的起始值逗号。