gpt4 book ai didi

mysql - 在我的查询结果中保留 MySQL 函数的结果(在 WHERE 中使用)

转载 作者:行者123 更新时间:2023-11-29 01:27:38 24 4
gpt4 key购买 nike

我的数据库中有一个 MySQL 函数,它计算两个字符串之间的编辑距离。levenstein("str1","str2"), 返回 INT

我有一个充满字符串的表,我希望我的查询将最相关的行返回到输入字符串(如果有的话)。我的查询如下所示:

SELECT * FROM my_table
WHERE levenshtein('John',name) <= 15
ORDER BY date DESC`

如您所见,编辑距离在 WHERE 子句中使用。该函数本身运行良好。

但在我的结果中,我还希望有一个列,其中包含每行与 “John” 的特定编辑距离。它在 WHERE 子句中计算,我如何更改我的查询以实际存储它并让它与其余结果一起出现?

最佳答案

使用子查询,过滤结果:

SELECT name, score FROM (
SELECT name, levenshtein('John', name) AS score, date
FROM my_table
) AS t
WHERE t.score <= 15
ORDER BY date DESC

这会将函数的结果作为外部查询中的普通列提供,因此您可以根据它进行过滤、排序等操作。

关于mysql - 在我的查询结果中保留 MySQL 函数的结果(在 WHERE 中使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257381/

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