select to_char(a,'yyyy-mm-dd hh24'),count(b) from tablename group by to_char(a,'yyyy-mm-dd hh24');

解决方案 »

  1.   

    改成这样试试
    Group by  trunc(a,'hh24')
      

  2.   

    我不明白为什么不能得到? 你按照 GROUP BY TO_CHAR(A,'YYYY/MM/DD 24HH')
      

  3.   

    用count(*)比较合适:
    SQL> select * from test3;        ID DOCTIME           P1 NEWZYZ               ZYZ1
    ---------- --------- ---------- -------------------- ----------
             6 01-JUL-01        222 2002-01-01
            22 01-JUL-01            1999-01-01
            22 01-JUL-01            2000-01-01
            83 24-SEP-02            asd                  sdf
            83 24-SEP-02            adfsd                dfsdf
            83 24-SEP-02            asd%df               dsfdsf%
             6 01-JUL-01        222 2002-01-01
            22 01-JUL-01            2001-01-018 rows selected.SQL> select to_char(doctime,'yyy-mm-dd hh24'),count(p1) from test3 group by to_c
    har(doctime,'yyy-mm-dd hh24');TO_CHAR(DOCTIME,'YYY-MM-  COUNT(P1)
    ------------------------ ----------
    001-07-01 00                      2
    002-09-24 14                      0
    002-09-24 15                      0SQL> select to_char(doctime,'yyy-mm-dd hh24'),count(*) from test3 group by to_ch
    ar(doctime,'yyy-mm-dd hh24');TO_CHAR(DOCTIME,'YYY-MM-   COUNT(*)
    ------------------------ ----------
    001-07-01 00                      5
    002-09-24 14                      2
    002-09-24 15                      1