Masz taki schemat relacyjny:
Można to rozwiązać na dwa sposoby. Pierwszym, "czystym" jest zbudowanie tabeli "lubię to" i wykonanie "count(*)" w odpowiedniej kolumnie.
Drugim sposobem jest przechowywanie w każdym komentarzu licznika, wskazującego, ile było w nim wzlotów i upadków. Jeśli chcesz sprawdzić, czy konkretny użytkownik głosował na komentarz, musisz sprawdzić tylko jeden wpis, który możesz łatwo obsłużyć jako własne zapytanie i połączyć je z dwoma poza bazą danych (w tym celu użyj zapytania, którego wynikiem jest comment_id i rodzaj głosu, jaki użytkownik oddał w określonym wątku).
Twoje podejście z listą rozdzielaną przecinkami nie jest całkiem skuteczne, ponieważ nie możesz jej przeanalizować bez większej inteligencji lub ogromnej ilości ciągów parsowania. Jeśli masz bazę danych - skorzystaj z niej!
(„Jedna informacja — jeden zbiór danych”!)