在介绍GROUP BY子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
SELECT SUM(tel_id) FROM telphone
这里的SUM作用在所有返回记录的tel_id字段上,结果就是该查询只返回一个结果,即电话号码总数。
mysql与oracle的分类汇总不一致,oracle中必须把非汇总项放入group by 子句中。
select tel_user,tel_address,count(telid) as sum from telphone group by tel_user,tel_address order by sum desc
group by 要加所有的非聚合字段,tel_user和tel_address
如果非汇总项特别多可真不爽,比如还含有tel_username,tel_userpass,tel_useremail,tel_userregtime,tel_userstate等等
也可以通过程序汇总
function gp($tel_id)
{
$result1=0;
for($i=0;$i {
if($result["tel_id"] == $tel_id)
$result1 += $result["col"];
}
return $result1;
}
oracle GROUP BY 表达式
最新推荐文章于 2024-03-14 14:04:29 发布