0

ユーザーが送信した投稿をテーブルに保存するテーブルがありpostsます。ユーザーはこれらの投稿に「いいね!」をすることもできます。いいねはlikesテーブルに格納され、いいねごとに 1 行、列iduser、およびpostid.

likesこれで、postsテーブルに列が追加されました。テーブル内のその投稿のいいね! の数を反映するために、すべての投稿likesのテーブル内の列を更新するにはどうすればよいですか?postslikes

ティア!

4

3 に答える 3

1
UPDATE posts p
JOIN (SELECT postid, COUNT(*) c
      FROM likes
      GROUP BY postid) l
ON p.id = l.postid
SET p.likes = l.c
于 2013-05-20T07:07:11.367 に答える
0
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);
于 2013-05-20T07:11:31.760 に答える