jony7788
@jony7788
Коротко обо мне

Как вытащить посты где 'лайки > 10' (лайки в другом таблице, посты в другом)?

Доброго времени суток. Помогите новичку, как организовать это никак не могу понять.
Есть таблица _Likes, в нем 3 полей ("user_id","post_id"какой пользователь поставил@ лайк на какой пост и ID)b45da22ffbbc4402896e23dbdd6e4c92.jpg
и еще есть таблица _posts, в нем есть много чего и конечно же тот post_id
37035698a4624d989948694b5191c386.jpg

Хочу вытащить посты которые набрали больше 10 лайков. как мне это сделать ?
каким образом? php или sql запрос? покажите примеры пожалуйста укажите верный путь
  • Вопрос задан
  • 828 просмотров
Решения вопроса 2
vvovas
@vvovas
я работаю с MS Sql server, а не с MySQL, так что синтаксис у вас может быть другой, но идея такая:
Сделайте группировку в таблице likes по post_id
select post_id, count(1) c from _likes group by post_id having count(1) > 10

вы получите post_id, у которых больше 10 лайков. Далее можете использовать это в качестве подзапроса.
Ответ написан
Immortal_pony
@Immortal_pony Куратор тега PHP
SELECT 
    `_posts`.`post_id`,
    COUNT(`_Likes`.`id`) AS 'likes_quantity'
FROM 
    `_posts`
    JOIN `_Likes` ON (`_Likes`.`post_id`=`_posts`.`post_id`)
GROUP BY `_posts`.`post_id`
HAVING COUNT(`_Likes`.`id`) > 10
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SimBioT19
@SimBioT19
{{ user.about }}
Вы подошли к этому вопросу не с той стороны.
Вам нужно иметь счётчик лайков в таблице post и прибавлять к нему 1, когда пользователь ставит лайк.
Тогда и посты с лайками > N будет получить легче легкого.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы