躺在沙灘上的小豬

          快樂的每一天

          統計合計和明細。

          今天遇到一個需求:

          假如我有這幾個數字:
          用戶:       user
          消費:       fee

          現在數據庫里面可能一個用戶有多條數據。
          例如:

          id  user     fee
          1  張三    100
          1  張三    50
          1  張三    20

          2  李四    30
          2  李四    20

          3  小王    1000

          現在我需要這樣的結果:

          不僅要統計出明細而且要總和,并且按 fee,id排序

          小王    1000

          張三  170
          張三    100
          張三    50
          張三    20

          李四    50
          李四    30
          李四    20


          用union all,在計算出來的結果上再order by就達到了最初的效果了。

          select *
            
          from (select t.id, '' name, sum(t.fee) fee, '' fff, '' ff, sum(t.fee) fee2
                    
          from
           tt_test t
                   
          group by
           t.id
                  
          union all

                  
                   (
          select a.*, b.fee2
                     
          from
           tt_test a,
                          (
          select sum(t.fee) fee2, t.id from tt_test t group by
           t.id) b
                    
          where a.id =
           b.id)) s

           
          order by s.fee2 desc, s.id

          感覺有點麻煩,不知道有好的方法沒

          posted on 2005-10-20 16:40 martin xus 閱讀(201) 評論(0)  編輯  收藏 所屬分類: oracle

          主站蜘蛛池模板: 四子王旗| 扶风县| 南充市| 临沂市| 皋兰县| 曲松县| 徐州市| 孝感市| 富川| 元江| 汉阴县| 阿城市| 金山区| 平乡县| 巴彦县| 包头市| 威信县| 保定市| 阳原县| 蓬溪县| 田林县| 东至县| 宁强县| 贺州市| 沙河市| 许昌县| 彰武县| 贵南县| 鞍山市| 桃源县| 蒙自县| 平山县| 九寨沟县| 营口市| 仙居县| 贵定县| 镇坪县| 巩留县| 读书| 神池县| 永宁县|