偶是新手,请教一下大家,现有表如下,需要累计金额,
试过SELECT 工作号,城市,SUM(金额) FROM XXX GROUP BY 工作号
但提示出错。
工作号    城市    金额
1         GZ      200
2         SZ      300
1         GZ      500
2         SZ      100需要显示的结果
1         GZ      700
2         SZ      400请问该如何写这个SQL,谢谢

解决方案 »

  1.   

    SELECT 工作号,城市,SUM(金额) FROM XXX GROUP BY 工作号,城市
    最好去看下sql,练习下。
    楼主也太勤奋了,周末还奋斗到这么晚那
      

  2.   

    SELECT 工作号,城市,SUM(金额) 金额 FROM XXX GROUP BY 工作号,城市
      

  3.   


    SELECT 工作号,城市,SUM(金额) FROM XXX GROUP BY 工作号,城市
      

  4.   

    注意点:
    select 语句中使用分组函数,如果选择列表同时包含有表达式分组函数,那么表达式必须出现在 group by 子句中所以正确的语句应该是:
    SELECT 工作号,城市,SUM(金额) FROM XXX GROUP BY 工作号,城市
      

  5.   

    你如果只根据工作号group by,那么select字段中只能包含工作号字段 和 count sum等,不能包含其他字段
    你可以根据工作号和城市两个字段group by,也可以只根据工作号分组,但是select中改成
    select 工作号,(select 城市 from xxx t where 工作号=t.工作号)as 城市 from XXX
      

  6.   

    SELECT 工作号,城市,SUM(金额) 金额 FROM XXX GROUP BY 工作号,城市
      

  7.   

    使用group by的时候要注意:如果select字段没有使用聚合函数的话,那么该字段必须出现在group by中,反之亦然
      

  8.   

    SELECT 工作号,城市,SUM(金额) 金额 FROM XXX GROUP BY 工作号,城市
      注意理解和掌握GROUP BY的用法!
      

  9.   

    找本SQL基础仔细看下就了解了。
      

  10.   

    这个不一定,如果select里面有没有使用聚合函数的话,group by必须要有,但是group by有的,select里面可以没有(只是group by之后你没让他显示而已)
      

  11.   

    select 语句中使用分组函数,如果选择列表同时包含有列、表达式和分组函数,那么列和表达式必须出现在 group by 子句中
      

  12.   

    SELECT 工作号,城市,SUM(金额) FROM XXX GROUP BY 工作号,城市
      

  13.   

    这个不一定,如果select里面有没有使用聚合函数的话,group by必须要有,但是group by有的,select里面可以没有(只是group by之后你没让他显示而已)
    正确
      

  14.   

    看来LZ是想要这个:
    SELECT 工作号,SUM(金额) FROM XXX GROUP BY 工作号