創建測試表
站在用戶的角度思考問題,與客戶深入溝通,找到蘭陵網站設計與蘭陵網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都做網站、網站設計、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、虛擬主機、企業郵箱。業務覆蓋蘭陵地區。
create?table?test
(姓名?varchar2(10),
訪問時間?date,
進入時間?date,
離開時間?date);
insert?into?test?values?('張三',to_date('2013-02-03?15:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-03?15:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-03?15:33:22','yyyy-mm-dd?hh24:mi:ss'));
insert?into?test?values?('李四',to_date('2013-02-04?15:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-04?18:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-04?18:53:22','yyyy-mm-dd?hh24:mi:ss'));
insert?into?test?values?('王武',to_date('2013-02-04?15:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-05?17:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-05?18:23:22','yyyy-mm-dd?hh24:mi:ss'));
insert?into?test?values?('張三',to_date('2013-02-04?15:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-06?11:23:22','yyyy-mm-dd?hh24:mi:ss'),to_date('2013-02-06?14:23:22','yyyy-mm-dd?hh24:mi:ss'));
運行
select?姓名,
to_char(訪問時間,'yyyy-mm')?訪問月份,
to_char(trunc(round(sum(離開時間-進入時間)*1440)/60))||'小時'||to_char(round(sum((離開時間-進入時間)*1440))-trunc(round(sum(離開時間-進入時間)*1440)/60)*60)||'分鐘'?時間匯總,
count(*)?訪問次數?from?test?
group?by?姓名,to_char(訪問時間,'yyyy-mm');
結果
查詢的時候按table來查,一個表的所有分區都屬于table。
但每個分區都是單獨的segment,如果查詢限制了分區鍵,那么查詢只落在特定的segment,而segment在底層對應的數據塊是不同的,這樣可以減少數據的訪問。
代碼簡單就是你復制的那樣
具體的實現方式就是
在你ORD_ACT_PART01 分區中,要存放日期小于2003年5月1號的數據,也就是存放2003年4月的,以及以前的所有
ORD_ACT_PART02 分區中存放2003年5月的數據,但是因為之前有了2003年4月的存放在分區1里,所以這里只存放5月的了,后邊也類似
但是你這個吧,只建了3個分區,到存放7月的數據,就會提示插入錯誤了,因為你沒有存放7月的分區,所以只能再建,語法就是跟樓上那些人寫的差不多了
ALTER TABLE
ORDER_ACTIVITIES
ADD PARTITION ORD_ACT_PART04 VALUES LESS THAN
(TO_DATE('01-AUG-2003','DD-MON-YYYY')) TABLESPACE ORD_TS04
不過建議起名時最好p200301,p200302這樣的一目了然
select distinct to_char(dt, 'yyyy-mm-dd') as years,to_char(dt, 'iw') as week
from (select (to_date('2013-4-15', 'yyyy-mm-dd') + rownum - 1) dtfrom dual connect by rownum = to_date('2013-7-15', 'yyyy-mm-dd') -to_date('2013-4-15', 'yyyy-mm-dd'))
group by to_char(dt, 'iw')
ORDER BY years,week
WITH?tmp?AS
(select?'張一'?as?names,????'2014年1月'?as?dates,????'90'?as?sorcs?from?dual?union
select?'張四'?as?names,????'2014年1月'?as?dates,????'66'?as?sorcs?from?dual?union
select?'張一'?as?names,????'2014年2月'?as?dates,????'84'?as?sorcs?from?dual?union
select?'張二'?as?names,????'2014年2月'?as?dates,????'75'?as?sorcs?from?dual?union
select?'張四'?as?names,????'2014年2月'?as?dates,????'48'?as?sorcs?from?dual?union
select?'張三'?as?names,????'2014年3月'?as?dates,????'75'?as?sorcs?from?dual?union
select?'張四'?as?names,????'2014年3月'?as?dates,????'96'?as?sorcs?from?dual?union
select?'張一'?as?names,????'2014年4月'?as?dates,????'94'?as?sorcs?from?dual?union
select?'張四'?as?names,????'2014年4月'?as?dates,????'75'?as?sorcs?from?dual?union
select?'張三'?as?names,????'2014年5月'?as?dates,????'84'?as?sorcs?from?dual?union
select?'張四'?as?names,????'2014年6月'?as?dates,????'75'?as?sorcs?from?dual?union
select?'張二'?as?names,????'2014年7月'?as?dates,????'64'?as?sorcs?from?dual?union
select?'張一'?as?names,????'2014年8月'?as?dates,????'77'?as?sorcs?from?dual?)
SELECT?names,
SUM(CASE?WHEN?dates?='2014年1月'?THEN?sorcs?END?)?AS?"2014年1月"?,
SUM(CASE?WHEN?dates?='2014年2月'?THEN?sorcs?END?)?AS?"2014年2月",
SUM(CASE?WHEN?dates?='2014年3月'?THEN?sorcs?END?)?AS?"2014年3月"
FROM?tmp
GROUP?BY?names
你這個是要行列互換吧?
分享文章:oracle如何按月分組,oracle按月分組統計
當前鏈接:http://vcdvsql.cn/article28/hedpcp.html
成都網站建設公司_創新互聯,為您提供商城網站、企業網站制作、微信小程序、網站排名、營銷型網站建設、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯