有一表t,字段为 name,value;数据有:
a 5
b 2
a 5
c 3
a 5
c 5
需求是用sql按name分组,查询出value=5的name的数目
结果是:
a 3
b 0
c 1
我想用分析函数查,写个sql 不能用
select t.name,count(t.name)over(partiton by t.name order by t.name)sm from t
我想order by 后面要有一个where或者having,能把value=5的筛选出来就好了
a 5
b 2
a 5
c 3
a 5
c 5
需求是用sql按name分组,查询出value=5的name的数目
结果是:
a 3
b 0
c 1
我想用分析函数查,写个sql 不能用
select t.name,count(t.name)over(partiton by t.name order by t.name)sm from t
我想order by 后面要有一个where或者having,能把value=5的筛选出来就好了
t.name,
count(t.name)
from t
where value = 5
group by name
或者用存储过程来解决,利用游标,这个和分步查询的实现方法是差不多的。。要想一次性得出结果,还没想出来,汗。。思考中,SQL基本功啊,唉
select name,count(name)
from t
group by name,value having value=5 ;