Eu tenho um banco de dados com 'livros' (contos para crianças) e seria extremamente informativo ter contagens de palavras de cada palavra nos livros.
Eu descobri como obter a contagem de palavras para cada palavra usando:
SELECT SUM
(
ROUND
(
(LENGTH(pageText) - LENGTH (REPLACE (pageText, "Word", "")))
/LENGTH("Word")
)
) FROM pages WHERE bookID = id;
O que funciona maravilhosamente para contar as palavras. MAS isso requer que eu passe por cada livro, e tire cada palavra, e execute-a por meio dessa função (eu a salvei como um procedimento armazenado).
Eu tenho uma tabela que contém cada palavra, sem duplicatas.
Minha pergunta: existe uma maneira de fazer algum tipo de loop "for each" na tabela Words usando meu procedimento armazenado?
ou seja. passe ao procedimento armazenado um ID de livro e uma palavra e registre o resultado. Fazendo CADA palavra, para CADA livro. Assim, economizando muito tempo manual... Isso é algo que eu deveria estar fazendo do lado do banco de dados? Devo tentar com PHP em vez disso?
Honestamente, qualquer entrada é muito apreciada!