您的位置:首页技术文章
文章详情页

mysql - sql 中 group 和field 查询问题。

【字号: 日期:2022-06-19 16:25:16浏览:20作者:猪猪

问题描述

目前试着简单的文章系统,表名为forum 包括了id,uid(发布者的id),content(内容),time(时间)等等字段,因为需要做个点赞功能,于是新建了一张点赞表forum_likes,里面包括了id,forum_id(文章的id),uid(点赞者的id),现在想做文章的首页可以显示相应文章的点赞数目,使用了leftjoin 关联点赞表,这样一个文章对应着多个点赞,统计点赞数目的是,使用count(),但是发现field需要很多字段,比如想把content和time都显示出来,但是不能全部group。所以想咨询下一般这种情况怎么处理,个人sql水平非常渣。

问题解答

回答1:

在forum 表中增加一个点赞数或在sql中做一个虚拟字段记录点赞数(结果来自于主键的关联查询)

回答2:

select id,content,time,num from forum left join (select count(*) as num,forum_id from forum_likes group by forum_id) as like on forum.id=like.forum_id;差不多这个一意思吧。

相关文章: