扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
$sql="select * from mytb order by time desc limit 5"
目前成都创新互联公司已为上千家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、天镇网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
不足5条,没关系。
凡事多尝试。
本人用ThinkPHP3.2,今天正在开发一个需要分组显示的功能,可是从数据库中把相应数据读取后直接用group分组,结果每组显示的是最老的记录,我的需求是要显示每组的最新记录。在网上大搜一翻后,未果,本人决定自行研究,现将方法记录于此以防遗忘。
其实很简单,以供就两步:
第一步:
将符合条件的数据全部取出,暂不用group分组,作为子查询:
[php] view plain copy
$subQuery = $model-field('id,name')-table('tablename')-where($where)-order('time desc')-select(false);
第二部:
利用子查询进行查询分组
[php] view plain copy
$model-table($subQuery.' a')-group('field')-select();span style="font-family: Arial, Helvetica, sans-serif;" /span
好了,思路就是这样。希望对大家有帮助!
thinkphp 3.2 sql语句distinct用法
DISTINCT 方法用于返回唯一不同的值 。
例如:
$Model-distinct(true)-field('name')-select();
生成的SQL语句是: SELECT DISTINCT name FROM think_user
你将这个数组用php的 serialize() 函数转换一次。再插入到数据库中。
读取的话,你就从数据库中取出来。再用php的 unserialize()函数转换为php的数组
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流