精妙Sql语句备忘

1 依次求和的sql

表名Tbl,列id,val
1 select   sum(val)   over(order   by   id)   from   Tbl

 2 Case用法

Title
分组统计,按人员分组 字段名为pname, 然后统计每个提出过多少问题,已经解决多少个问题,未解决多少个问题, 表中4个字段 ID,pname,question,decide 第一个字段是ID,第二个字段是人名,第三个字段是这个人提的问题,第4个字段是问题是否解决 是个标志字段,"y"就是解决了 "n"就是没解决
select pname,count(*) as 提问数量,sum(case decide when 'y' then 1 else 0 end) as 已解决数量,sum(case decide when 'n' then 1 else 0 end) as 没解决数量
from 表
group by pname
 

随时补充 

posted on 2012-10-19 14:43  咖啡色  阅读(387)  评论(1编辑  收藏  举报