Ну свотри, у тебя допустим есть таблица с пользователями (users):
id: integer, key - id пользователя
name: text - имя пользователя
И таблица лайков:
id: int, key - id лайка
post_id: int - id поста (или фото), на который поставили лайк
user_id: int - id пользователя, который поставил лайк
Я думаю, ты догадываешься какой id куда нужно писать и после в sql запросе прописать связи:
select count(id) as `like` from likes where user = 'vaska' and post_id =12345
То есть да, ты все правильно думаешь.
Вариант вполне рабочий, но я думаю что можно сделать еще такой вариант. В таблице posts, где ты хранишь посты можно добавить поле likes типа json, в котором в формате json будут храниться лайки. Ну это уже от ситуации зависит.