一个简单的sql统计语句 麻烦帮忙看看解决思路

一个简单的sql统计语句 麻烦帮忙看看
我用
SQL code
SELECT * FORM A WHERE b='a'
得到了一张表 内容如下:

表1:
SQL code
Name          Price          b

N1             10            a
N1             10            a
N1             10            a
N2             20            a
N3             30            a
N3             30            a
N2             20            a

 

其中 Name是varchar类型 Price是float类型 b是varchar类型

问题: 我想在上面这张表的基础上得到如下这张表

表2:
SQL code
Name      Total    SumPrice  b

N1          3        30      a
N2          2        40      a
N3          2        60      a



这个上面表2的Total就是在表1里面出现过的Name里面重复的数量 也就是说在表2里面Name段里面不会再

出现像表1那样重复的数据了,而重复的次数出现在Total段里面 
表2的SumPrice段是存储的原来表1里面一个Name所对应的price的总和 比如表1里面有2个N2 每个N2对应

的Price都是20 所以表2里面SumPrice就应该是2*20=40 

为了达到这种效果 请问怎么设置语句 从数据库里面直接搜索出表2 麻烦各位了

------解决方案--------------------
基于Oracle 语法:
SQL code

 select 
    name, 
    count(name) as Total, 
   'a' as b, 
    sum(Price) as SumPrice from
    ( select * from a where b = 'a' ) group by name;