gpt4 book ai didi

mysql - 查询输入的子字符串是字段的一部分

转载 作者:行者123 更新时间:2023-11-29 13:58:28 26 4
gpt4 key购买 nike

我试图提出一个查询,如果输入是 id 或者输入包含与输入开头匹配的最长别名,则返回一行。下面是一个示例数据表以及结果。

表:

id+alias
1 | dept
2 | dept/reception
3 | dept/support
4 | dept/support/server
5 | dept/support/networking
6 |
7 | news
8 | purple

查找:

input => result
5 => 5
dept => 1
dept/add => 1
purple => 8
dept/support/moo => 3
dept/reception/bldg5/floor7 => 2

如果我在别名中查找输入,那就很容易了,但我无法弄清楚如何找到输入中的别名并且是最长的别名。

最佳答案

SELECT * FROM `tbl` 
WHERE `id` = 'INPUT'
OR `alias` = 'INPUT'
OR 'INPUT' LIKE CONCAT(`alias`,'%')
ORDER BY `id` = 'INPUT' DESC,
`alias` = 'INPUT' DESC,
(LENGTH(`alias`) - LENGTH(REPLACE(`alias`, '/', ''))) DESC
LIMIT 0,1

关于mysql - 查询输入的子字符串是字段的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443884/

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