gpt4 book ai didi

Mysql - 选择,按列值在字符串中出现的次数排序

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

抱歉,我应该更好地解释一下:我有一个 $string,我希望“table”按“word”列下的每个值出现在该 $string 中的次数排序。为此,我需要一个查询:

'SELECT * FROM table WHERE $string 
LIKE CONCAT("%",LOWER(word),"%")...

找到单词,然后我想按外观对它们进行排序,以便:

$string = "lollipop lollipop oh la le la le lollipop";
'SELECT * FROM table'
++++++++++table++++++++++
id - word
1 - la
2 - le
3 - lollipop
4 - shooby
+++++++++++++++++++++++++

(对表的一些查询)将输出:

++++++++++table++++++++++
id - word
1 - lollipop (appears 3 times)
2 - le (appears 2 times)
3 - la (appears 2 times)
4 - shooby (appears 0 times)
+++++++++++++++++++++++++

执行此操作的查询是什么? (顺便说一句,如果每个单词在字符串中出现的次数也显示在选择表中,那就太好了。)

最佳答案

您可以使用的一个技巧是替换原始字符串中的单词。然后比较丢失了多少个字符。除以单词的长度,得到该单词的总出现次数。例如:

SELECT 
w.word
, (length(title) - length(replace(title, w.word, ''))) / length(word)
FROM (select 'lollipop lollipop oh la le la le lollipop' as title) t
CROSS JOIN (
select 'la' as word
union all select 'le'
union all select 'lollipop'
union all select 'shooby'
) w

-->

la 2.0000
le 2.0000
lollipop 3.0000
shooby 0.0000

关于Mysql - 选择,按列值在字符串中出现的次数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1893593/

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