表里有 日期  值我要查询出 某个月份的每天的 值是什么  比如我要查询出 11月份的 每天(1.2.3.4....30) 对应的值都是多少 谢谢~

解决方案 »

  1.   


    取出对应值是计数?还是什么?用函数取出每天的值,用COUNT计数,加上WHERE.不就可以了. 
      

  2.   

    用CASE WHEN  来转,就OK!
      

  3.   

    你是想得到11月一共30天 这一条记录,还是想得到1101--1130条记录?
    如果是得到30天,那么
    select add_months(trunc(to_date('2011-10-04','yyyy-mm-dd'),'month'),1) -  trunc(to_date('2011-10-04','yyyy-mm-dd'),'month')  MONTH  from dual 如果得到30条记录,那么,将这个结果集connect by
      

  4.   

    select service_date, nvl(counted, 0)
      from (SELECT to_date('2011-11-01', 'YYYY-MM-DD') + ROWNUM - 1 service_date
              FROM dual
            CONNECT BY ROWNUM <= (to_date('2011-11-30', 'YYYY-MM-DD') -
                       to_date('2011-11-01', 'YYYY-MM-DD') + 1)) a
      left join (select dateField, count(1) as counted
                   from tableName
                  group by dateField) b on a.service_date = b.dateField
      

  5.   

    提问不能太懒,要把问题描述清晰,你的这个时间字段是什么类型的?char还是date?如果是char,格式是什么?如果是date,时间的值是多少?你要获得的结果是什么呢?是一个字段的值?还是求和?如果是求和是求合计还是求次数?如果是求字段的值,在表中能保证每天只有一条记录吗?如果不能保证每天只有一条记录,那么出现重复记录时以哪条为准?数据库中能保证每天都有记录吗?如果不能保证每天都有记录,那么在结果集中需要显示这天吗?这些需求你都不描述大家没法给你清晰的答案。