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