ThinkPHP分组汇总统计如何实现

ThinkPHP分组汇总统计如何实现,第1张

分组查询原理都是SQL的分组查询,THINKPHP中只是用到他自己的一些自定义的方法!比如

join()、group()、having()方法等,实际对应的也是SQL里的这些关键字!

例如本次需求是要按照cid进行分组,按照通常的做法是 SELECT * FROM 表名 GROUP BY

cid,这样就能按照cid进行分组筛选!然后使用THINKPHP的时候则使用 M('表名')->group('cid')->select()

实际生成的语句和原始SQL代码是一样的。

join通常有下面几种类型,不同类型的join *** 作会影响返回的数据结果。

INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

其实我感觉你这个逻辑没问题,代码有点问题,我是这么认为的,代码应该是这样

$idzhi = rand(0,表中数据条数)

$data = $data['id']// 我不明白你这里是什么意思

$arr = $m->where($data >= $idzhi)->limit(8) ->select()

不过我总感觉上面的有问题

$idzhi = rand(0,表中数据条数)

$arr = $m->where("id >= $idzhi")->limit(8) ->select()

不对的话就试试这个,我个人觉得这样是对的,不明白你那个$data['id']是干嘛用的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10047325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存