oracle ¿ÉÓÐʲô·½·¨ ͳ¼ÆÃ¿ÔÂÀÛ»ý¹ºÂòÈËÊý
±ÈÈç˵ÓиöÃŵê 2008Ä깺ÂòÉÌÆ·µÄÈËÊý
±í:t_buy_log ×Ö¶Î f_username Óû§Ãû³Æ;¹ºÂòʱ¼äf_buytime
1 Èç¹ûÊÇͳ¼ÆÃ¿Ô¹ºÂòÈËÊý
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
group by to_char(f_buytime,'yyymm')
order by to_char(f_buytime,'yyymm') asc
½á¹û:
1ÔÂ 100ÈË
2ÔÂ 150ÈË
3ÔÂ 50ÈË
2 Èç¹ûͳ¼ÆÃ¿ÔÂÀÛ»ý¹ºÂòÈËÊý ?
1ÔÂ 100ÈË
2Ô ÊÇ1ÔºÍ2ÔµĹºÂòÈËÊý ¿Í»§ÓÐÖØ¸´ ÖµÔÚ100-250Ö®¼ä
3Ô ÊÇ1-3ÔµĹºÂòÈËÊý
Õâ¸ö¸ÃÔõÃ´Ð´ÄØ?
Ó÷ÖÎöº¯ÊýµÄSUM ºÃÏñ²»ÐÐ
1-1
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm')='200901'
1-2
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm') between '200901' and '200902'
1-3
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm') between '200901' and '200903'
Create Table t_tmp_test As
select oldtable.tm,
(
select/*+parallel(t,20)*/ count(distinct f_username)
from t_Base_Prouser_Suc t where to_char(f_Expectenddate, 'yyyyMM') <= oldtable.tm
And t.f_Source In ( Select f_buymodeid from T_base_Flat_Type Where f_department = 1)
) rs
from
(
select to_char(add_months(to_date('2007-01-01','YYYY-MM-DD'),(Level-1)),'yyyymm') tm
from dual
connect by level < months_between(to_date('2009-12-01','YYYY-MM-DD'),to_date('2007-01-01','YYYY-MM-DD'))+1
) oldtable
½ñÌìÔÚÒ»±¾ÊéÉÏ¿´µ½µÄ£¬¸Ð¾õͦȫµÄ¡£Ó¡ÏóÖÐ×Ô¼ºÒѾ²»ÖªµÀ°Ù¶ÈÁ˶àÉÙ´ÎÕâ¸öÎÊÌ⣬½ñÌì¾Í¼ÇÏÂÀ´°É£¬·½±ãÒÔºó²éѯ¡£
Êý¾Ý¿âд½ø³ÌÔÚÒÔÏÂʼþÖ®Ò»·¢Éúʱ°ÑÊý¾Ý¿â¸ßËÙ»º³åÇøµÄÊý¾Ýдµ½Êý¾ÝÎļþÉÏ:
µ±Ô໺³åÇøµÄÊýÁ¿³¬¹ýÁËËùÉ趨µÄÏÞ¶î
µ±ËùÉ趨µÄʱ¼ä¼ä¸ôÒѵ½
µ±Óнø³ÌÐèÒªÊý¾Ý¿â¸ßËÙ»º³åÇøÈ´ÕÒ²»µ½¿ÕÏеĻº³åÇøÊ±
µ±¼ì²éµ ......
Ò». Oracle ¿ØÖÆÎļþÖ÷Òª°üº¬ÈçÏÂÌõÄ¿
DATABASE ENTRY
CHECKPOINT PROGRESS RECORDS
REDO THREAD RECORDS
LOG FILE RECORDS
DATA FILE RECORDS
TEMP FILE RECORDS
TABLESPACE RECORDS
LOG FILE HISTORY RECORDS
OFFLINE RANGE RECORDS
ARCHIVED LOG RECORDS
BACKUP SET RECORDS
BACKUP PIECE RECORD ......