表格结构如下:年份 月份 1日 2日 3日  4日 5日 6日 .......31日
我现在要统计1969年6月6日-1969年8月8日的数值和、数值平均值SQL语句怎么写?区站号     年份  月份    D_1    D_2    D_3    D_4    D_5    D_6    D_7    D_8    D_9    D_10   D_11   D_12   D_13   D_14   D_15   D_16   D_17   D_18   D_19   D_20   D_21   D_22   D_23   D_24   D_25   D_26   D_27   D_28   D_29   D_30   D_31   
 ---------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ 
   59758      1969   1      33     41     51     10     4      19     32700  14     2      2      32001  11     54     1      12     12     23     4      32002  32001  0      0      32700  32001  0      32001  32001  0      32001  54     358
   59758      1969   2      0      60     53     1      0      0      44     0      0      0      0      0      32001  32002  32001  0      0      0      0      32700  14     22     7      14     5      52     36     34     32744  32744  32744
   59758      1969   3      4      9      7      146    23     27     90     23     32700  3      60     0      28     32700  32700  32700  32700  32700  0      0      0      0      0      0      0      0      0      0      0      276    32700
   59758      1969   4      45     6      0      23     23     0      0      0      0      0      0      1      48     54     137    32700  41     20     0      0      0      0      0      0      0      0      0      1      0      0      32744
   59758      1969   5      0      32700  0      0      0      18     81     242    32700  0      0      20     328    363    176    0      0      0      0      45     43     8      0      0      168    13     17     32700  0      0      32700
   59758      1969   6      112    7      68     109    32700  439    29     68     0      0      0      0      32700  20     4      32700  430    68     64     153    8      31     32002  0      0      0      45     0      0      8      32744
   59758      1969   7      19     11     412    0      0      10     32700  32700  13     6      24     32700  333    0      32700  32700  0      3      84     470    32700  32700  125    300    17     51     3      32700  107    1      0
   59758      1969   8      0      0      0      106    304    99     101    4      29     76     9      49     0      0      32001  32700  32700  32700  0      32700  32700  0      0      0      0      0      0      32700  32700  0      7
   59758      1969   9      115    394    1      19     0      37     0      20     0      0      0      0      0      0      0      1      77     352    63     47     32700  0      0      0      1213   32002  0      0      78     1      32744
   59758      1969   10     0      0      32700  0      32700  0      0      0      0      0      0      247    0      0      0      0      0      32700  285    0      13     202    149    5      32700  63     10     9      15     0      0
   59758      1969   11     0      0      1      0      32700  32700  0      0      0      0      32700  0      0      0      32700  0      9      13     22     0      0      32700  0      0      0      0      0      0      0      0      32744
   59758      1969   12     0      0      0      0      1      3      32001  12     0      0      0      0      0      0      0      21     0      0      0      0      0      0      0      32700  32001  0      32700  32700  1      0      0(所影响的行数为 12 行)

解决方案 »

  1.   

    seelct 区站号,sum(data) as 数值和,avg(data) as 数值平均值
    from (
    select 区站号,年份,月份,1 as 日,D_1 as data from tablename where 年份=1969
    union all
    select 区站号,年份,月份,2 as 日,D_2 as data from tablename where 年份=1969
    union all
    ...
    union all
    select 区站号,年份,月份,31 as 日,D_31 as data from tablename where 年份=1969
    ) as t
    where 年份=1969
    and (月份=6 and 日>=6
    or 月份=7
    or 月份=8 and 日<=8
    )
    group by 区站号
      

  2.   


    select 年份,月份,sum(D_6) TotalD_6,sum(D_7) TotalD_2,sum(D_8) TotalD_8
    ,avg(D_6) AvgD_6,avg(D_7) AvgD_7,avg(D_8) AvgD_8
    tableName
    where 年份=1996 and 月份 between 6 and 8
    group by 年份,月份
    -->可以进行动态语句生气。。