Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我要在每个字母中打印单词,并计算字母的次数_Mysql_Sql_Hiveql - Fatal编程技术网

Mysql 我要在每个字母中打印单词,并计算字母的次数

Mysql 我要在每个字母中打印单词,并计算字母的次数,mysql,sql,hiveql,Mysql,Sql,Hiveql,斯雷纳思 我想要这样的输出 select * from string_split(separator ' '); s-1 r-1 e-2 n-1 t-1 我知道您正试图生成一个结果集,显示每个字符在一个单词中出现的次数 要实现这一点,最好设置一个表,列出要跟踪其出现的所有字符 CREATE TABLE alphabet ( c varchar(1) NOT NUL PRIMARY KEY ); INSERT INTO alphabet VALUES('a'); INSERT INTO

斯雷纳思 我想要这样的输出

select * from string_split(separator ' ');
s-1 r-1 e-2 n-1 t-1
我知道您正试图生成一个结果集,显示每个字符在一个单词中出现的次数

要实现这一点,最好设置一个表,列出要跟踪其出现的所有字符

CREATE TABLE alphabet ( 
    c varchar(1) NOT NUL PRIMARY KEY
);
INSERT INTO alphabet VALUES('a');
INSERT INTO alphabet VALUES('b');
...
INSERT INTO alphabet VALUES('z');
现在,下面的查询应该可以做到这一点:

SELECT
    c.c,
    LENGTH(t.value)
        - LENGTH( REPLACE ( LCASE(t.value), c.c, '') ) occurrences 
FROM 
    mytable t
    INNER JOIN alphabet c
        ON INSTR(t.value, c.c) > 0
您可以在字母表中自由添加任何附加字符(数字或任何特殊字符)。根据当前查询,在输入字母表时应使用小写

注意:这假设您的数据存储在表“mytable”的“value”列中

    -
SELECT
    c.c,
    LENGTH(t.value)
        - LENGTH( REPLACE ( LCASE(t.value), c.c, '') ) occurrences 
FROM 
    mytable t
    INNER JOIN alphabet c
        ON INSTR(t.value, c.c) > 0