×î½üÓÉÓÚÒª×ö±¨±í£¬ÔÚÒ»ÕűíÖÐÓÐÒ»¸ö×Ö¶ÎΪdateÀàÐÍ£¬ÏÖÔÚÏëÒªÔÚÒ»¶Îʱ¼äÄÚ£¨±ÈÈçÒ»Ä꣩Äܹ»°´ÕÕʱ¼ä¶Î·Ö×é²éѯ¼Ç¼×ܺͣ¬±ÈÈçÎÒÒªÄܹ»²éѯ2007Äêµ½2009Äê¼ä°´Ô·ݷÖ×é¼Ç¼ÌõÊýͳ¼Æ£¬ÍøÉÏÌáʾÓà group by to_char(date_column, 'yyy-mm'),¹¹ÔìÈçÏÂsqlÓï¾ä£º
select count(*), s.create_date as date_split
from sample s
where s.create_date between '2007-01' and '2009-12'
group by to_char(date_split, 'yyy-mm');
µ«ÊÇ£¬ÎÒ²»Ö»ÊÇÒªÄܰ´Ô·ÝÀ´·Ö×飬»¹ÒªÇóÄܹ»°´Öܺͼ¾¶ÈÀ´·Ö×飬ÕâÖÖ²éѯÓï¾äÔõô¹¹ÔìÄØ£¬ÍøÉÏËÆºõûÓÐÕâ·½Ãæ×ÊÁÏ£¬Íû´óϺ½ÌÎÒ£¬Ð¡µÜ²»Ê¤¸Ð¼¤£¡
¼¾¶ÈµÄÓиö±¿°ì·¨£º
SQL> select to_char(b,'YYYY-MM') from table1;
TO_CHAR(B,'YYY
--------------
2009-09
2009-09
2009-09
2008-11
2008-11
2008-09
2009-05
2009-12
2009-12
ÒÑÑ¡Ôñ9ÐС£
SQL> select to_char(b,'YYYY'),sum(decode(to_char(b,'MM'),'01',1,'02',1,'03',1,0)) as one,
2 sum(decode(to_char(b,'MM'),'04',1,'05',1,'06',1,0)) as two,
3 sum(decode(to_char(b,'MM'),'07',1,'08',1,'09',1,0)) as three,
4 sum(decode(to_char(b,'MM'),'10',1,'11',1,'12',1,0)) as four from table1
5 group by to_cha
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......