thinkphp如何按统计结果排序?

我的数据表中有uid,comment两个字段,我想用select选出评论数最多的几个用户,即按每个uid的comment统计总数排序,但统计方法不是连贯操作,请问我该如何... 我的数据表中有uid,comment两个字段,我想用select选出评论数最多的几个用户,即按每个uid的comment统计总数排序,但统计方法不是连贯操作,请问我该如何实现? 展开
 我来答
6丶到没朋友
2013-12-11 · TA获得超过593个赞
知道小有建树答主
回答量:972
采纳率:80%
帮助的人:299万
展开全部
数据库表uid 应该是用户的id了吧 而评论表都会有对应的评论和用户id 就是取 这个用户id的所有数据进行核算条数。按desc排序就行了啊
追问
请问具体代码怎么写?是否要做一个数组先记录下所有的用户id,再对每个id做统计,再对统计总数排序?当uid较多时这样会不会比较慢。。?谢谢!
追答

具体代码就是

M("comment")->where(array('uid'=>$uid))->count();
//实例化回复表   按where uid=$uid 查询统计;  会返回一个整数,

//comment 是回复的表   uid是用户的id   如果是文章或帖子查询总数 uid也可以是文章或帖子的id、
//具体不知道你怎么用 ,但是原理都是一样的!
//一般的论坛帖子都是这样的吧  列:这个是标题(100/520)意思是游览次数是500回复是100 
//这个就是M("comment")->where(array('uid'=>$uid))->count();  其中把uid换成 tid 就行了啊也就是代表帖子的id
//而你说的用户回复数量  不可能把所有的用户都列出来吧,社区类型的网站  只有进入会员自己的会员中心
//才能看见回复数或者游览别人的资料时候才会显示吧   所以  就可以用
//M("comment")->where(array('uid'=>$uid))->count();这句话查询数量 
//至于$uid  你随意  怎么得到的
smartwill
2013-12-11 · TA获得超过117个赞
知道答主
回答量:78
采纳率:0%
帮助的人:42.4万
展开全部
先实例化这个表,然后$db->order('comment DESC,uid')->limit(5)->select();select选出评论数最多的5个用户
更多追问追答
追问
额。。comment 不是评论数而是评论内容。。。谢谢!
追答
你不会多增加一个评论数的字段吗?
你每次去统计ID的评论数量,不太耗效率了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亲亲木朵best
2013-12-11 · TA获得超过201个赞
知道答主
回答量:394
采纳率:0%
帮助的人:140万
展开全部
$dbase->order('comment DESC')->select();
更多追问追答
追问
额。。comment 不是评论数而是评论内容。。。谢谢!
追答
那你就第一次循环出所有的用户id,第二然后根据用户的id查询出所有的uid是这个id的数据,mysql_num_rows()查询出条数,就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式