mysql特定字符出现次数统计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql特定字符出现次数统计相关的知识,希望对你有一定的参考价值。
我有两个数据表,一个表里只有一个字段,字段的名字叫“关键字”(我喜欢用中文做字段名),每条记录存一个关键字,比如唱歌是一条记录,跳舞是一条记录。
另一个表里有两个字段,分别是“姓名”和“特长”,特长的值就是“关键字”里已经有的记录值,比如:第一条记录“姓名”字段值为“张三”,“特长”值为“唱歌,跳舞,演讲”。
我的问题是怎么能用一条sql语句检索出“关键字”表中所有的值分别在另一个表“特长”字段中出现的次数。
比如3人会唱歌,6人会演讲,能一次检索出来吗
我们暂时把第1张表定义为A,第2张表定义为B。
select 特长(字段),count(id) as 别名(人数) from B group by 特长(字段)。本回答被提问者和网友采纳
统计一段长字符串中某字符串的出现次数
- 截取字符串统计字符串出现次数
- 通过替换字符串,统计字符串出现次数
- 通过正则表达式,统计字符串出现次数
package constxiong.interview; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 统计一段长字符串中某字符串的出现次数 * @author ConstXiong * @date 2019-11-13 11:01:22 */ public class TestCountWordTimesInText { public static void main(String[] args) { String text = "统计一CX段长CX字符串中某字符串的出C现X次cx数"; String word = "CX"; System.out.println(countWordTimesByCutString(text, word)); System.out.println(countWordTimesByReplace(text, word)); System.out.println(countWordTimesByRegex(text, word));//正则匹配,需要注通配符的使用对结果的影响 } /** * 截取字符串统计字符串出现次数 * @param text * @param word * @return */ public static int countWordTimesByCutString(String text, String word) { int times = 0; if (!isEmpty(text) && !isEmpty(word)) { String subText = text; int index = -1; int wordLength = word.length(); while (subText.length() >= wordLength && (index = subText.indexOf(word)) > -1) { subText = subText.substring(index + wordLength); times++; } } return times; } /** * 通过替换字符串,统计字符串出现次数 * @param text * @param word * @return */ public static int countWordTimesByReplace(String text, String word) { int times = 0; if (!isEmpty(text) && !isEmpty(word)) { times = (text.length() - text.replace(word, "").length()) / word.length(); } return times; } /** * 通过正则表达式,统计字符串出现次数 * @param text * @param word * @return */ public static int countWordTimesByRegex(String text, String word) { int times = 0; if (!isEmpty(text) && !isEmpty(word)) { Pattern p = Pattern.compile(word); Matcher m = p.matcher(text); while (m.find()) { times++; } } return times; } /** * 字符串是否为空 * @param str * @return */ private static boolean isEmpty(String str) { return str == null || str.length() == 0; } }
- Java 自学经历
- Java 面试题 H5
- Java 面试题小程序
以上是关于mysql特定字符出现次数统计的主要内容,如果未能解决你的问题,请参考以下文章