Respondendo a esta pergunta ,
Dada esta tabela (construída a partir da pergunta):
CREATE TABLE wordcount (id SERIAL NOT NULL PRIMARY KEY, description TEXT NOT NULL);
INSERT INTO wordcount (description) VALUES ('What a great day');
INSERT INTO wordcount (description) VALUES ('This is a product. It is useful');
produza este resultado:
id | word_count | unique_word_count | Description
---------+------------+-------------------+---------------
1 | 4 | 4 | What a great day
2 | 7 | 6 | This is a product. It is useful
Eu dei a resposta (correta), que você pode encontrar aqui .
No entanto, em um comentário, o OP fez outra pergunta - e se a string em questão fosse ['a', ' ', ' ', 'b']
e minha solução quebrasse completamente - para começar, a string nem entraria INSERT
na tabela.
Então, a questão agora é, como se lida com strings como esta - ou seja, com apóstrofos, colchetes etc. Vou dar minha própria resposta e também oferecer um bônus por uma solução mais elegante.
Soluções com múltiplas opções serão altamente valorizadas, assim como aquelas que mostrarem evidências de "pensar fora da caixa" (desculpe o clichê - mas cabe aqui! :-) ). Eu também vou dar uma explicação detalhada do meu raciocínio - que vai ganhar elogios também! As opções que mencionam outros servidores também ganharão mérito. Obviamente, só posso conceder o bônus a uma pessoa, mas votarei positivamente em todas as respostas decentes.
Só posso oferecer um bônus em dois dias - então postarei minha resposta e oferecerei o bônus (+100) quando puder. Além disso, quaisquer soluções que lidem com strings com as quais eu não possa lidar - ainda não foram exaustivamente testadas.