我想使用 MySql(查看所需的结果)将多个表的结果计数合并为一个结果,但如果您有任何疑问,我对此感到困惑或对此进行优化,请回答我或帮助我,我自己也尝试过使用 Union 进行此查询,但严重不成功(请参阅查询示例)
需要结果
post post_comment_likes post_comments post_likes
2 0 3 0
查询
SELECT COUNT(*) AS `post` FROM post WHERE user_id = "123456" UNION
SELECT COUNT(*) AS `post_comment_likes` FROM post_comment_likes WHERE user_id = "123456" UNION
SELECT COUNT(*) AS `post_comments` FROM post_comments WHERE user_id = "123456" UNION
SELECT COUNT(*) AS `post_likes` FROM post_likes WHERE user_id = "123456"
最佳答案
set @post = 0;
set @post_comment_likes = 0;
set @post_comments = 0;
Set @post_likes = 0;
select count(*) into @post from .......;
select count(*) into @post_comment_likes from ......;
select count(*) into @post_comments from ......;
select count(*) into @post_likes from ......;
select (@post + @post_comment_likes + @post_comments + @post_likes) ;
在上面的代码中,@post、@post_comment_likes、@post_comments、@post_likes 是 session 变量,您在它们前面加上'@'字符
使用上面的代码,您可以访问每个表的计数。
关于mysql - 我想使用 MySQl 将多个表结果计数合并为一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346717/