不知道你说的星期是什么含义,我给一个按星期一,星期二分组的查询
假设表结构a (adate date,num number)
select max(num),to_char(adate,'D') from a group by to_char(adate,'D')
这样分输出7个组分别按星期分组

解决方案 »

  1.   

    我不是想要按照星期一,星期二那样分组。我是想把一个星期分为一组。比如:第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组,2000-1-8到2000-1-15日为第二组。
    就是这个意思。还是非常谢谢 guo 先生!
      

  2.   

    我说的详细些:
    表:history
    字段:
    说明            列名        类型  
    货品ID       ProductID  Number(8)
    日期         PName      date
    最大数       PMax       Number(12,2)
    最小数       PMin       Number(12,2)
    开盘价       Oprice     Number(12,2)
    收盘价       Cprice     Number(12,2)
    这条SQL要求取出:每个星期的最大数,最小数,星期一的开盘价,和星期天的收盘价。比如:第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组,2000-1-8到2000-1-15日为第二组。以次类推,求出第一组的最大数,最小数,星期一的开盘价,星期天的收盘价。第二组的最大数,最小数,星期一的开盘价,星期天的收盘价。......
      

  3.   

    select to_char(datafield,'ww'),max(countfield)
    from table group by to_char(datafield,'ww')
      

  4.   

    select max(amount) from yourTable group by to_char(theDate,'ww')
      

  5.   

    SQL> select to_char(pname,'ww'),Max(PMax) from history group by to_char(pname,'ww');
    TO MAX(PMAX)
    -- --------------
    24            127
    25            127
    26            166
    27            166
    28            124
    请问TO下面的24,25,26,27,28是什么意思?可是这样得不到星期一的开盘价和星期天的收盘价啊?
      

  6.   

    to_char(pname,'ww')中的ww指一年中的星期数,比如第一个星期指2001-1-1到2001-1-7,第二个星期是....
      

  7.   

    我觉得你自己都没有搞清问题。第一:“第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组”,你知道2000-1-1和2000-1-7是在同一星期吗?第二:星期六、星期天休息,哪来的星期天的收盘价?
    方法:1、建立视图,算出每个交易日是本年度第几个星期;
          2、select from  视图   group by 星期。
    求星期的函数记不太清了。
    另外,还的考虑所有的节假日。