当前位置: 首页 > 知识库问答 >
问题:

根据单词在数据库中的出现对单词进行排序,匹配相似的单词

简俊楚
2023-03-14
    null

共有1个答案

巫马昆琦
2023-03-14

您需要使用GROUP BY子句和count函数

SELECT word, COUNT(*) count FROM your_table GROUP BY word ORDER BY count DESC LIMIT 0,3;

可能的输出:

+------+-------+
| word | count |
+------+-------+
| hai  | 2     |
| Hai. | 1     |
| This | 1     |
+------+-------+

如果您希望MySQL将haihai.视为同一个单词,则应该在分组之前去掉所有非alpha字符。参见MySQL:如何从字符串中删除所有非字母数字字符?。然后,基于此答案中的方法,它将如下所示:

SELECT LOWER(alphanum(word)) word, COUNT(*) count FROM your_table 
GROUP BY LOWER(alphanum(word)) ORDER BY count DESC LIMIT 0,3;
+------+-------+
| word | count |
+------+-------+
| hai  | 3     |
| this | 1     |
| joe  | 1     |
+------+-------+
 类似资料:
  • 我有: 我需要根据我做的字母表排列单词。 我目前的方法是使用for cycles。 我已经为这段代码编写了一些基础,但在开始认真的“循环”之前,我想问一下还有什么其他方法。 谢谢 后续更改Java中字符串列表中的特定字符

  • 问题内容: 如何匹配MySQL中单词的变体,例如,对会计的搜索应与会计,会计,会计等匹配。我在共享主机上,因此不能向levenshtein等MySQL添加任何功能。 我想类似谷歌如何匹配“的东西 会计课程 ”和“ 会计课程 ”的“搜索时, 会计师课程 ”。例子。 我的服务器语言是php,如果只能在其中实现而不是在SQL中实现。 当前语句如下。 问题答案: MySQL在全文搜索方面不是很好,您可能想

  • 我有一个有数千行的pd数据帧。每一行都包含一列标记为text\u processed的包含文本的列。这些文本可能很长,每行/文本数百个单词。现在我想消除95%行中出现的单词。我所做的是将所有文本连接到一个大字符串中,并标记该字符串。我现在有了所有课文中所有单词的词汇表。现在我想得到每个单词所在的行数。一种简单(且缓慢)的方法是循环每个单词,比较该单词是否存在于列中,并对结果求和以获得该单词所在的行

  • 我想从创建一个排序词 以下是我到目前为止的情况。 我不理解编译器的信息: 我到底做错了什么?

  • 本文向大家介绍在Python中按字典顺序对单词进行排序,包括了在Python中按字典顺序对单词进行排序的使用技巧和注意事项,需要的朋友参考一下 按字典顺序对单词进行排序意味着我们要首先按单词的第一个字母排列它们。然后,对于第一个字母相同的单词,我们将它们按第二个字母排列在该组中,依此类推,就像在语言的词典中一样(不是数据结构)。 Python有2个函数,按照这种类型的顺序进行排序和排序,让我们看看

  • 问题内容: 我在网页中使用javascript。我正在尝试通过文本框搜索整个单词。假设我搜索:“我”,我应该在文本中找到所有“我”,但每个语音都找不到“ memmm”。 我正在使用javascript的search(’my regex expression’)执行当前搜索(没有成功)。 谢谢! 编辑:在使用\ b开关的几个建议[似乎不起作用]之后,我正在发布有关我的问题的修订说明: 嗯,出于某种原