thinkphp中多表查询中防止数据重复的sql语句(必看)

yipeiwu_com6年前PHP代码库

下面先来看看例子:

table

id name
1 a
2 b
3 c
4 c
5 b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)
1 a 1
2 b 1
3 c 1

最后一 项是多余的,不用管就行了

tp2.0手册   搜索连贯操作 可看到相关的资料

SELECT cat_id, COUNT(*) AS goods_num FROM talble GROUP BY cat_id

$M = M('table');
$rs = $M->field(array('cat_id','count(*)'=>'goods_num'))->group('cat_id')->select();

echo $M->getLastSQL();
print_r($rs);

以上就是小编为大家带来的thinkphp中多表查询中防止数据重复的sql语句(必看)的全部内容了,希望对大家有所帮助,多多支持【宜配屋www.yipeiwu.com】~

相关文章

Linux下php5.4启动脚本

Linux下php5.4启动脚本

废话不多说,直接上步骤 1、修改php-fpm.conf配置文件 修改/usr/local/php/etc/php-fpm.conf(当然这个跟你配置的php路径相关)配置文件 启动pi...

php修改数组键名的方法示例

本文实例讲述了php修改数组键名的方法。分享给大家供大家参考,具体如下: $ar = array( array(1 => 'a', 2 => 50, 3 => 6...

配置php网页显示各种语法错误

发现问题比解决问题重要,使用php集成开发环境Appserv网页会提示各种语法错误,但自己配置开发环境无法提示错误,特别当不是语法错误,比如com组件的调用,当不知道问题出现在何处,是不...

基于php split()函数的用法详解

PHP函数split()的基本语法为:array split ( string $pattern, string $string [, int $limit] )。我们向大家举了两个例子...

php缓冲 output_buffering的使用详解

bufferbuffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域。通过buf...