group by 和count 的结合使用
有如下表testnw09胜09胜09负09负10胜10负10负我要得到的结果是s胜092101需要的语句是怎么写的...
有如下表test
n w
09 胜
09 胜
09 负
09 负
10 胜
10 负
10 负
我要得到的结果是
s 胜
09 2
10 1
需要的语句是怎么写的 展开
n w
09 胜
09 胜
09 负
09 负
10 胜
10 负
10 负
我要得到的结果是
s 胜
09 2
10 1
需要的语句是怎么写的 展开
2个回答
展开全部
还可以和很多啊
sum() avg() min() max() 等
这类都叫聚合函数
还可以去重,如果有重复数据的话,可以用group by,打个比方
如果表里有一列字段叫id
id
1
1
2
2
select id from 表名 group by id
这样得到的结果只有1和2
这个用法类似于distinct
如果有两列
id name
1 a
2 a
1 a
2 b
select id,name from 表名 group by id,name
结果是
1 a
2 a
2 b
就是去掉两俩完全相同的
还有一种,也是类似于上边两列数据
select id,name from 表名 group by id,name having count(*)>=2
这样的话,就是找出条数大于等于2的那列,也就是1 a
这个也可以配合其他聚合函数使用,
如
select id,name from 表名 group by id,name having sum(某字段)>=2
sum() avg() min() max() 等
这类都叫聚合函数
还可以去重,如果有重复数据的话,可以用group by,打个比方
如果表里有一列字段叫id
id
1
1
2
2
select id from 表名 group by id
这样得到的结果只有1和2
这个用法类似于distinct
如果有两列
id name
1 a
2 a
1 a
2 b
select id,name from 表名 group by id,name
结果是
1 a
2 a
2 b
就是去掉两俩完全相同的
还有一种,也是类似于上边两列数据
select id,name from 表名 group by id,name having count(*)>=2
这样的话,就是找出条数大于等于2的那列,也就是1 a
这个也可以配合其他聚合函数使用,
如
select id,name from 表名 group by id,name having sum(某字段)>=2
2014-07-04
展开全部
select n s,count(0) 胜 from table group by n,w having w='胜'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询