呼吸 我想要这样的输出
select * from string_split(separator ' ');
s - 1 r - 1 e - 2 n - 1 t - 1
答案 0 :(得分:0)
我了解您正在尝试生成一个结果集,以显示每个字符在一个单词中出现的次数。
要实现此目的,最好设置一个表格,列出要跟踪其出现的所有字符。
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
您可以随意在字母表中添加任何其他字符(可以是数字,也可以是任何特殊字符)。根据当前查询,您在输入字母表时应该使用小写字母。
NB:这假设您的数据存储在表“ mytable”的“ value”列中