Я хочу напечатать слово в каждой букве и посчитать письмо, сколько раз - PullRequest
0 голосов
/ 19 января 2019

Сринат я хочу вот так вот

select * from string_split(separator ' ');
s - 1
r - 1
e - 2
n - 1
t - 1

1 Ответ

0 голосов
/ 19 января 2019

Я понимаю, что вы пытаетесь сгенерировать набор результатов, который показывает, сколько раз каждый символ появляется в слове.

Для этого было бы хорошо создать таблицу, в которой перечислены все символы, вхождения которых встречаютсяВы хотите отслеживать.

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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...