I. Если вы хотите посчитать количество одинаковых слов, то есть:
Пупкин — встречается 3 раза
Вася — встречается 2 раза и т.д, то это можно сделать либо с помощью хранимой процедуры, либо другим методом перебора (в php), либо (лучше) нормализовать данные, чтобы в одной строке было только одно слово, тогда можно будет использовать оператор GROUP BY.
II. Если выхотите посчитать количество одинаковых фамилий (что я думаю вы и хотите), то базу данных опять же лучше нормальзовать по такому принципу:
1. Самое длинное слово в строке брать за фамилию, если оно не оканчивается на «ич», «еч» и другие характериные для отчества окончания, в противном случае брать следующее наиболее длинное слово в строке.
2. Самое короткое слово в строке брать за имя.
Эти данные записать в таблицу с колонками Фамилия и Имя (или какой-то другой подходящий формат) при этом можно сохранить ключи на исходные заиписи. После чего по полю Фамилия можно использовать GROUP BY.
Как-то так. Ваша проблема в ненормализованных данных.