gpt4 book ai didi

mysql - 查找列中作为其他值的子字符串的值

转载 作者:行者123 更新时间:2023-11-29 15:42:08 24 4
gpt4 key购买 nike

我有一个表,其中包含约 600000 个项目,由 ID 和条形码标识。

其中一些条形码是重复的,但不完全一样,因为有些有前缀,有些没有(例如 7290001234567 与 1234567)

我需要找到条形码相同的所有元素,无论有没有前缀 - 输出应该类似于:

id  barcode
1 7290001234567
2 1234567
...

我尝试了以下方法,但它无法工作,因为子查询返回多个项目并且它破坏了函数:

select * 
from item
where barcode like concat("%", (select barcode from item where char_length(barcode) <= 8));

最佳答案

您可以使用子查询并加入

select * 
from item
INNER JOIN (
select barcode from item where char_length(barcode) <= 8)
) T ON item.barcode like concat('%', T.barcode)

或使用自连接

select * 
from item i1
INNER JOIN item i2 on i1.barcode like concat('%', i2.barcode)

确保您有条形码索引..(可能是一个缓慢的查询)

关于mysql - 查找列中作为其他值的子字符串的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com