我现在的数据库有
id字段类型char(2),date字段类型char(10),value字段类型int。date中的时间字段为yyyymmddhh。我想做任意时段的按照id排序的求和。但是我写的查询无法无结果。期待高人指点。

解决方案 »

  1.   

    其实,我想了解date字段类型char(10)如何能够快速排序,将按照id分组求和value
      

  2.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  3.   

    create table data(
      id char(5),
      --date格式为yyyymmddhh
      date char(10),
      value int
    )
    create table tableb
    (
      id char(5),
      name char(5)
    )
      

  4.   

     1. 你的 create table xxx .. 语句
     2. 你的 insert into xxx ... 语句
     3. 结果是什么样,(并给以简单的算法描述)

     4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
      

  5.   

    select data.id,sum(data.value) from data inner join on tableb data.id=tableb.id
    where convert(datetime,left(data.date,4) +'-'+substring(data.date,5,6)+'-'+substring(data.date,7,2)+' '+right(data.date,2)+':00:00',120) > '2009-07-08 12:00:00)  AND 
          convert(datetime,left(data.date,4) +'-'+substring(data.date,5,6)+'-'+substring(data.date,7,2)+' '+right(data.date,2)+':00:00',120) <= '2009-07-08 20:00:00)
    在线等。谁能帮我改一下,万分感激。
      

  6.   

    create table 那里我只是简单说一下,我库里表的结构。我使用MSSQL.
      

  7.   

    如果你说是是准确的,你直接比较就行了。没看到你的数据,只是边猜边回答。where date >'2009120123'
      

  8.   

    对不住。呵呵。data中数据
    id   date             value
    a    2009070800       2
    a    2009070803       2
    a    2009070805       7
    b    2009070805       7
    c    2009070805       7
    d    2009070805       7
      

  9.   

    create table data( 
      id char(5), 
      --date格式为yyyymmddhh 
      date char(10), 
      value int 

    create table tableb 

      id char(5), 
      name char(5) 
    )
    其中data中的数据为
    id   date            value
    a    2009070800      2 
    a    2009070803      2 
    a    2009070805      7 
    b    2009070805      7 
    c    2009070805      7 
    d    2009070805      7 
    我想要的结果为按照id分组求和
    id sum(value)
    a  ....
    b  ....
    c  ....
    d  ....
      

  10.   

    看不出你的tableb 表有什么作用,反正你也没写出数据。select id,sum(value)
    from data
    where date between '2009070000' and '2009070924'
    group by id
    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html