SQL group by 的用法 求解,该如何解决

SQL group by 的用法 求解
有一批商品,每个同种商品,可以分为多个批号。

比如:
ID  :标识
name   :商品名称 
pihao    :商品生产批号
num     :该批号商品的数量
maxtime     :商品有效期

--------------------------
现有如下数据:
ID    name   pihao    num     maxtime
1      a1      1       10      2012-12-12
2      a1      1       100     2012-12-12
3      a1      2       11      2012-12-12
4      a2      1       2       2012-12-12
5      a3      1       5       2012-12-12

----------------------------------------------

我想要的结果是:
---------------------------
name    pih   num       maxtime
a1       1    10+100     2012-12-12
a1       2    11         2012-12-12
a2       1    2          2012-12-12
a3       1    5          2012-12-12

----------------------------------------
我自己写的如下:

select a.nnn,a.name,b.maxtime  

FROM (select sum(num) as nnn ,name  from table ) a,
INNER JOIN
      table b
 ON a.name = b.name

GROUP BY a.nnn,a.name,b.maxtime  

-------------------------------------
得到的结果:
name    pih     num          maxtime
a1       1    10+100+11     2012-12-12
a1       2    10+100+11     2012-12-12
a2       1    2             2012-12-12
a3       1    5             2012-12-12


很明显a1两个不同批号的,统计的数量不对



 
------解决方案--------------------
SELECT name,   pih,   SUM(pid) as num,       maxtime FROM table GROUP BY pihao    ,name