sql 语句总结
sql 语句的总结:
下面是个统计 from_userid 字段相同的数数量有多少在用num参数来接收,这个数值;
select *,count(*) as num from invitations group by from_userid "; //统计邀请id每条id的条数
输出的结果是:
Array ( [0] => Array ( [id] => 1048 [from_userid] => 0 [thru_userid] => 1243 [addtime] => 2015-01-11 13:11:15 [num] => 11 ) [1] => Array ( [id] => 1832 [from_userid] => 56 [thru_userid] => 57 [addtime] => 2014-12-20 16:42:45 [num] => 1 ) [2] => Array ( [id] => 444 [from_userid] => 57 [thru_userid] => 604 [addtime] => 2014-12-30 14:50:46 [num] => 22 )
}
num 元素在数据库中没有,是通过count函数计算出 from_userid字段,相同的数据,在赋值给num,而且字段的数据不发生变化!
在用sql查询,而带的参数是数组的时候,要用到implode()的函数,函数要带两个参数,一个是要查询的是什么样的条件。比如说是 :or、and、或者是用英文逗号隔开,
如果查询的时候,参数是id,那么就需要用到in()函数,用一个变量接收implode函数处理的值,这样就能够查询到一个带有参数的数组
例如:sql语句是:
$id=array(
[0]=>1,
[1]=>2,
[2]=>3
);
$implode=(' , ' ,$id);
$sql=SELECT id,nickname,mobilephone,face_url FROM users WHERE id in ($ord);
得到的结果是:SELECT id,nickname,mobilephone,face_url FROM users WHERE id1 in(1,2,3) ORDER BY addtime desc;
SELECT * FROM `p_archives_3` WHERE `picsad` between 1113 and 1122 ;
↕
SELECT * FROM 'p_archives_3' where 'picsad' >= 1113 AND 'picsad' <= 1122;