Jeśli nie masz nic przeciwko uzyskaniu najczęściej występującego słowa ze wszystkich wierszy (najczęściej występującego słowa oddzielonego spacją), możesz użyć:
select word, count(distinct rn) as num_rows
from(
select unnest(string_to_array(col, ' ')) as word,
row_number() over(order by col) as rn
from tbl
) x
group by word
order by num_rows desc
Skrzypce: http://sqlfiddle.com/#!15/bc803/9/0
Zauważ, że to powoduje znalezienie słowa apple
wśród 4 wierszy, a nie 5. To dlatego, że APPLE123
to jedno słowo, podczas gdy APPLE 123
byłyby dwoma słowami, z których jedno to JABŁKO, i mogłoby się liczyć, ale tak się nie stanie.