我有一个表格,将用户提交的帖子存储在posts表格中。用户还可以“点赞”这些帖子。点赞存储在likes表格中,每个点赞一行,包含 、id和user列postid。
我现在在表格中添加了一likes列posts。如何为每个帖子更新表格中的likes列posts,以反映likes表格中该帖子的喜欢数量?
蒂亚!
我有一个表格,将用户提交的帖子存储在posts表格中。用户还可以“点赞”这些帖子。点赞存储在likes表格中,每个点赞一行,包含 、id和user列postid。
我现在在表格中添加了一likes列posts。如何为每个帖子更新表格中的likes列posts,以反映likes表格中该帖子的喜欢数量?
蒂亚!
UPDATE posts p
JOIN (SELECT postid, COUNT(*) c
FROM likes
GROUP BY postid) l
ON p.id = l.postid
SET p.likes = l.c
update posts p
left join
(
select postid, count(*) likes
from likes
group by postid
) l on p.id = l.postid
set p.likes = ifnull(l.likes, 0);