日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql cte 表不存在_使用CTE解决复杂查询的问题_MySQL

發(fā)布時(shí)間:2024/9/19 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql cte 表不存在_使用CTE解决复杂查询的问题_MySQL 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近,同事需要從數(shù)個(gè)表中查詢用戶的業(yè)務(wù)和報(bào)告數(shù)據(jù),寫(xiě)了一個(gè)SQL語(yǔ)句,查詢比較慢:

Select

S.Name,

S.AccountantCode,

(

Select COUNT(*) from (

Select Distinct BusinessBackupId from Biz_BusinessBackupCustomer where Id in (

Select BusinessBackupCustomerId from Rpt_RegistForm where ( SignatureCPA1Id=S.Id or SignatureCPA2Id=S.Id ) and DocStatus=30

) ) T

) as 'BNum',

(case when R.Id is null then 0 else 1 end ) as 'Num',

R.ReportBackupDate

from

Base_Staff S

left join Rpt_RegistForm R on ( R.SignatureCPA1Id=S.Id or R.SignatureCPA2Id=S.Id ) and R.DocStatus=30

where S.UserType=3

該查詢需要執(zhí)行10秒左右,仔細(xì)分析,它有2次查詢類似的結(jié)果集(Base_Staff,Rpt_RegistForm 關(guān)聯(lián)部分),這正是CTE應(yīng)用的場(chǎng)合。

從SQLSERVER 聯(lián)機(jī)叢書(shū),我們來(lái)了解下CET的概念:

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_6tsql/html/27cfb819-3e8d-4274-8bbe-cbbe4d9c2e23.htm

指定臨時(shí)命名的結(jié)果集,這些結(jié)果集稱為公用表表達(dá)式 (CTE)。該表達(dá)式源自簡(jiǎn)單查詢,并且在單條 SELECT、INSERT、UPDATE、MERGE 或 DELETE 語(yǔ)句的執(zhí)行范圍內(nèi)定義。該子句也可用在 CREATE VIEW 語(yǔ)句中,作為該語(yǔ)句的 SELECT 定義語(yǔ)句的一部分。公用表表達(dá)式可以包括對(duì)自身的引用。這種表達(dá)式稱為遞歸公用表表達(dá)式。

下面看看經(jīng)過(guò)CET改寫(xiě)過(guò)的查詢:

With CTE as

(

select

--s.Id as S_ID,

s.Name ,s.AccountantCode,

r.BusinessBackupCustomerId --, r.Id as R_ID ,r.SignatureCPA1Id,r.SignatureCPA2Id

from Base_Staff S

left join Rpt_RegistForm R

on ( R.SignatureCPA1Id=S.Id or R.SignatureCPA2Id=S.Id ) and r.DocStatus=30

where s.UserType=3

)

select t0.*

,(

Select COUNT(*) from (

Select Distinct BusinessBackupId

from Biz_BusinessBackupCustomer b

inner join CTE on b.Id =CTE.BusinessBackupCustomerId

where t0.AccountantCode=CTE.AccountantCode

) t1

) as '約定書(shū)數(shù)'

from

(

select Name, AccountantCode,COUNT( BusinessBackupCustomerId) as '報(bào)告數(shù)'

from CTE

group by Name,AccountantCode

) t0

執(zhí)行此查詢,只需要5秒鐘時(shí)間,比原來(lái)的查詢提高了一倍。

注意上面的Count函數(shù),它統(tǒng)計(jì)了一個(gè)列,如果該列在某行的值為NULL,將不會(huì)統(tǒng)計(jì)該行,這正符合需求。

另外,CTE還可以做遞歸處理,詳細(xì)見(jiàn)上面的聯(lián)機(jī)叢書(shū)URL的內(nèi)容說(shuō)明。

本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴

本文系統(tǒng)來(lái)源:php中文網(wǎng)

TAG標(biāo)簽:問(wèn)題

總結(jié)

以上是生活随笔為你收集整理的mysql cte 表不存在_使用CTE解决复杂查询的问题_MySQL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品成人网 | 在线看的网站 | 国产色站| 欧美男人的天堂 | 观看av免费 | 星空大象在线观看免费播放 | 四虎三级 | 桃色成人网 | 捆绑调教在线观看 | 乌克兰做爰xxxⅹ性视频 | 67194成人| 国模无码大尺度一区二区三区 | 亚洲一级片网站 | 国产精品九九热 | 欧美另类高清videos的特点 | 亚洲精品中文字幕在线观看 | 91免费在线播放 | 天堂中文字幕免费一区 | 波多野结衣av一区二区全免费观看 | 韩国一区在线 | 久久久久xxxx | 中文字幕无码乱人伦 | 超碰碰碰碰 | 领导揉我胸亲奶揉下面 | 久久精品在这里 | 国产一伦一伦一伦 | 国产女主播一区二区三区 | 椎名由奈av一区二区三区 | 国产毛片儿 | 欧美亚洲综合视频 | 中文字幕国产一区二区 | 免费在线看污视频 | 欧美激情免费 | 精品99视频| 香蕉视频传媒 | 亚洲网在线观看 | 久久久久久久黄色片 | 玖玖爱在线精品视频 | 五月激情久久 | 国产欧美久久久久久 | 捆绑少妇玩各种sm调教 | 婷婷丁香激情 | 亚洲av无码乱码在线观看富二代 | 91成人免费在线观看 | 色婷婷激情网 | 尤物网址在线观看 | 欧美性大战久久久久久 | 拔擦8x成人一区二区三区 | 伊人久久大香线蕉成人综合网 | 日韩人妻无码精品综合区 | 在线看网站 | 日韩av不卡一区二区 | 亚洲国内在线 | 日本中文在线观看 | 五月视频 | 欧美黄色免费看 | 亚洲国产精品va在线看黑人 | 日韩美女激情 | 亚洲精品久久久久久久久久久 | 中文字幕无线码一区 | 国产精品一区二区黑人巨大 | 最新av网站在线观看 | 肉肉av福利一精品导航 | 日韩一区三区 | 一级特黄妇女高潮2 | 国产精品免费av一区二区 | 欧美一级爱爱 | 日日干夜夜爱 | 久久亚洲精精品中文字幕早川悠里 | 99国产精品一区二区 | 午夜性色福利视频 | 色噜噜狠狠一区二区三区果冻 | 欧美视频在线一区二区三区 | 特黄特色大片免费播放器使用方法 | 国产视频精品视频 | 精品不卡一区二区三区 | 1级片在线观看 | 中国女人和老外的毛片 | 一区二区免费在线视频 | 欧美激情片在线观看 | 精品国模一区二区三区 | 大片视频免费观看视频 | 在线毛片观看 | 天天色影网 | 激情一区 | 一区二区三区视频 | 亚洲国产精品一 | 黄色大片日本 | 综合色婷婷一区二区亚洲欧美国产 | 国产99久久久久久免费看 | 69精品久久久久久 | 91视频网址| 欧美日韩黄色大片 | 秋霞精品 | 国产日韩在线一区 | 性生交大片免费看狂欲 | 天天色天天色天天色 | 久久免费精品视频 | 99精品欧美一区二区三区 |