group by 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
sql group by 语法
select column_name, aggregate_function(column_name)
from table_name
where column_name operator value
group by column_name
来看一个group by实例
比如表里内容是这样
gameid best top spam
111 1 1 1
121 1 1 0
123 0 1 1
111 1 0 1
我现在要取出best top spam 的数量 结果应该是
gameid best top spam
111 2 1 2
121 1 1 0
123 0 1 1
select gameid, sum(best) as bestcnt, sum(top) as tocnt, sum(spam) as spamcnt
from table
group by gameid在php教程 中使用方法
$sql = “select gameid,sum(best) as best,sum(top) as top,sum(spam) as spam, from tablename group by gameid order by gameid asc”;再来看个简单一点的实例
数据库教程表table
日期 胜负
2009-12-9 胜
2009-12-9 胜
2009-12-9 负
2009-12-9 负
2009-12-10 负
2009-12-10 胜
2009-12-10 负
查询结果
日期 胜 负
2009-12-9 2 2
2009-12-10 1 2
select 日期,
sum(decode(胜负,’胜’,1,0)),
sum(decode(胜负,’负’,1,0))
from 数据库表
group by 日期