SQL with as 用法

WITH AS短語墙贱,也叫做子查詢部分(subquery factoring)蟋软,是用來定義一個SQL片斷亲澡,該SQL片斷會被整個SQL語句所用到盲憎。這個語句算是公用表表達(dá)式(CTE)。

比如

with A as (select * from class)

select *from A  

這個語句的意思就是半夷,先執(zhí)行select * from class 得到一個結(jié)果婆廊,將這個結(jié)果記錄為A ,在執(zhí)行select *from A 語句巫橄。A 表只是一個別名淘邻。

也就是將重復(fù)用到的大批量 的SQL語句,放到with as 中湘换,加一個別名宾舅,在后面用到的時候就可以直接用。

對于大批量的SQL數(shù)據(jù)彩倚,起到優(yōu)化的作用筹我。

PostgreSQL提供的一種方法,用于寫一個大的查詢中使用的輔助報表與查詢帆离,能使復(fù)雜和大型查詢簡單易讀蔬蕊。

1:with子句的使用
使用現(xiàn)有數(shù)據(jù)庫查詢,查詢在2017.05.01號0點到2017.05.08號0點之間的充值玩家的id,sid,期間充值總數(shù)num哥谷。
命令如下:
with u as (select id, sum(amount) as num from pay where pay_time >= 1493568000 and pay_time < 1494172800 group by id) select u.id, pinfo.sid, u.num from u join pinfo on u.id=pinfo.id;

解析:
使用with查詢出相關(guān)玩家的id和期間充值總數(shù)num岸夯,
再查詢出對應(yīng)id玩家的sid。

2:多個with子句的使用
使用現(xiàn)有數(shù)據(jù)查詢们妥,在1的基礎(chǔ)上猜扮,增加查詢這些玩家到
2017.05.08號0點的歷史充值總數(shù)total。
with u1 as (select id, sum(amount) as num from pay where pay_time >= 1493568000 and pay_time < 1494172800 group by id), u2 as(select id, sum(amount) as total from pay where pay_time < 1494172800 group by id) select u1.id, pinfo.sid, u1.num, u2.total from u1, u2, pinfo where u2.id = u1.id and pinfo.id = u1.id;

解析:
使用with查詢出固定時間內(nèi)充值的玩家id和期間充值總數(shù)监婶,
使用with查詢出指定時間之前充值的玩家的id和歷史充值總數(shù)旅赢,
再查詢出u1中所有id對應(yīng)的u2中的數(shù)據(jù),以及pinfo中的sid压储。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲜漩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子集惋,更是在濱河造成了極大的恐慌孕似,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刮刑,死亡現(xiàn)場離奇詭異喉祭,居然都是意外死亡养渴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門泛烙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來理卑,“玉大人,你說我怎么就攤上這事蔽氨∶赀耄” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵鹉究,是天一觀的道長宇立。 經(jīng)常有香客問我,道長自赔,這世上最難降的妖魔是什么妈嘹? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮绍妨,結(jié)果婚禮上润脸,老公的妹妹穿的比我還像新娘。我一直安慰自己他去,他們只是感情好毙驯,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孤页,像睡著了一般尔苦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上行施,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音魂那,去河邊找鬼蛾号。 笑死,一個胖子當(dāng)著我的面吹牛涯雅,可吹牛的內(nèi)容都是我干的鲜结。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼活逆,長吁一口氣:“原來是場噩夢啊……” “哼精刷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蔗候,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤怒允,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锈遥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纫事,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡勘畔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了丽惶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炫七。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖钾唬,靈堂內(nèi)的尸體忽然破棺而出万哪,到底是詐尸還是另有隱情,我是刑警寧澤抡秆,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布奕巍,位于F島的核電站,受9級特大地震影響琅轧,放射性物質(zhì)發(fā)生泄漏伍绳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一乍桂、第九天 我趴在偏房一處隱蔽的房頂上張望冲杀。 院中可真熱鬧,春花似錦睹酌、人聲如沸权谁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旺芽。三九已至,卻和暖如春辐啄,著一層夾襖步出監(jiān)牢的瞬間采章,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工壶辜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悯舟,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓砸民,卻偏偏與公主長得像抵怎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岭参,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容