在PHP中使用SQL语句可以通过倒序排列记录取出第一条的记录取到最后一条数据。
创新互联专业为企业提供城口网站建设、城口做网站、城口网站设计、城口网站制作等企业网站建设、网页设计与制作、城口企业网站模板建站服务,十年城口做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
一般,php调用mysql的接口查询,查询语句如下:
select * from table order by id DESC limit 1
这样就取出记录的最后一条记录。
本人用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