ユーザーが送信した投稿をテーブルに保存するテーブルがありpostsます。ユーザーはこれらの投稿に「いいね!」をすることもできます。いいねはlikesテーブルに格納され、いいねごとに 1 行、列id、user、およびpostid.
likesこれで、postsテーブルに列が追加されました。テーブル内のその投稿のいいね! の数を反映するために、すべての投稿likesのテーブル内の列を更新するにはどうすればよいですか?postslikes
ティア!
ユーザーが送信した投稿をテーブルに保存するテーブルがありpostsます。ユーザーはこれらの投稿に「いいね!」をすることもできます。いいねはlikesテーブルに格納され、いいねごとに 1 行、列id、user、およびpostid.
likesこれで、postsテーブルに列が追加されました。テーブル内のその投稿のいいね! の数を反映するために、すべての投稿likesのテーブル内の列を更新するにはどうすればよいですか?postslikes
ティア!
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);