结果写出来容易,主要是要了解为什么结果是这样的。
group by 分组求合
先按照date , incarrier , outcarrier 相同的值分组,然后对每组数据分别求合。
date   incarrier   outcarrier   sm
91 a1 b1 23
92 a1 b2 27
93 a2 b1 31
94 a2 b2 35

解决方案 »

  1.   

    先按照date 分组,然后再 incarrier 分, 再outcarrier 分组。最后才执行
    select date , incarrier , outcarrier , sum(duration)  as sm
    from testGroup
      

  2.   

    tabel
    date duration period incarrier inprefix outcarrier outprefix
    91      11      9       a1       a        b1          a
    91      12      9       a1       a        b1          a
    92      13      9       a1       a        b1          a
    92      14      9       a1       b        b2          a
    93      15      9       a2       b        b2          c
    93      16      9       a2       b        b2          c
    94      17      9       a2       a        b2          a
    94      18      9       a2       a        b1          a
    我想的到下表 select语句该怎么写?  incarrier_a1就是当inprefix为a时 a1每天duration的总量
                                      incarrier_a2就是当inprefix为a时 a2每天duration的总量
                                      outcarrier_b1就是当outprefix为a时 b1每天duration的总量
                                      outcarrier_b2就是当outprefix为a时 b2每天duration的总量
    table2    
    date    incarrier_a1   incarrier_a2  outcarrier_b1  outcarrier_b2
    91           23             0             23             0       
    92           13             0             13             14
    93           0              0             0              0
    94           0              35            18             17