下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
SQL中Top與Order聯(lián)合使用的問題VBA實(shí)例教程除非注明,文章均為戰(zhàn)戰(zhàn)如瘋原創(chuàng),轉(zhuǎn)載請保留鏈接:,VBA交流群273624828。在以前關(guān)于SQL的知識中我們講過要提早記錄的前n條的話可以用Top命令,假如要對提拿出來的數(shù)據(jù)進(jìn)行排序可以用Orderby,那么假如我們要從一批數(shù)據(jù)里面提拿出前n大的數(shù)據(jù)自然就想到了先用Orderby對數(shù)據(jù)進(jìn)行排序,而后再從排好的數(shù)據(jù)中拿出前n條就可以了。那下邊我們來看個例子,有以下一個表此刻我們要從中拿出前3名,明顯這里有4個99,那我們只需取任意3個99就可以了,看我下邊寫的代碼Subsearch( )DimcnnAsObject,sql$,rsAsObject,i,nRange("E1").CurrentRegion.Offset(1,0).ClearContentsSetcnn=CreateObject("adodb.connection")cnn.Open"Provider=Microsoft.ACE.OLEDB.12.0;ExtendedProperties=excel12.0;DataSource="&ThisWorkbook.FullNamesql="selecttop3姓名,數(shù)學(xué)from[Sheet1$A1:B11]orderby數(shù)學(xué)desc"Setrs=cnn.Execute(sql)Sheet1.[E2].CopyFromRecordsetrscnn.CloseSetrs=NothingSetcnn=NothingEndSub上邊的代碼看上去沒有什么問題,運(yùn)轉(zhuǎn)一下結(jié)果以下結(jié)果是4個,不是我們所料想的3個,明顯我們的SQL語句與我們理解的有差異。之因此會出現(xiàn)這樣的問題是由于我們將Top與Order結(jié)適用了,當(dāng)二者結(jié)適用的時候Topn就不是指前n條了,而成了前n名了。那這個名次怎么排的呢?很簡單,原表中4個99分的排名都是1,5個1分的排名都是5,沒有2、3、4名,最低分0的排名是10,沒有6、7、8、9名。因此假如你取top1、top2、top3也許top4獲得的都是4個排名1的數(shù)據(jù),假如你取top5、top6、top7、top8或top9那獲得的就是排名1和排名5的一共9個數(shù)據(jù)。比方top9取前9名那就是第1名4個,2、3、4名0個,第5名5個,6、7、8、9名0個,加起來是9個了。那假如我就是想取前n個數(shù)據(jù)而不是前n名,那怎么辦?很簡單,看下邊的代碼Subsearch( )DimcnnAsObject,sql$,rsAsObject,i,nRange("E1").CurrentRegion.Offset(1,0).ClearContentsSetcnn=CreateObject("adodb.connection")cnn.Open"Provider=Microsoft.ACE.OLEDB.12.0;ExtendedProperties=excel12.0;DataSource="&ThisWorkbook.FullNamesql="select姓名,數(shù)學(xué)from[Sheet1$A1:B11]orderbydesc"sql="selecttop3*from("&sql&")"Setrs=cnn.Execute(sql)Sheet1.[E2].CopyFromRecordsetrscnn.CloseSetrs=NothingSetcnn=NothingEndSub
數(shù)學(xué)上邊的代碼運(yùn)轉(zhuǎn)一下獲得的結(jié)果就是
3個數(shù)據(jù),這個
sql
語句包含了兩部分,先用"select姓名,數(shù)學(xué)from[Sheet1$A1:B11]orderby數(shù)學(xué)desc"形成一個降序擺列的查詢,而后我們再從這個盤問中取top3,因此這里top語句的結(jié)構(gòu)就成了“selecttop*from[table]”,也就沒有了orderby的問題了,因此最后我結(jié)果就是實(shí)實(shí)在在的前3行數(shù)據(jù)。本節(jié)示例文件下載:。您可能也喜愛:SQL之刪除數(shù)據(jù)SQL語句應(yīng)用基礎(chǔ)SQL基礎(chǔ)-where條件設(shè)定SQL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版輪胎銷售區(qū)域保護(hù)及市場開發(fā)合同4篇
- 2025年銷售人員薪資待遇與績效考核合同范本2篇
- 2024年09月北京2024年華夏銀行總行校園招考筆試歷年參考題庫附帶答案詳解
- 2025年度13價肺炎疫苗市場推廣及銷售代理合同3篇
- 2024年07月浙江招商銀行寧波分行社會招考筆試歷年參考題庫附帶答案詳解
- 2024年高中數(shù)學(xué) 第一章 常用邏輯用語 1.1 命題說課稿 北師大版選修1-1
- 電池測量表行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024年03月江蘇招商銀行蘇州分行春季校園招考筆試歷年參考題庫附帶答案詳解
- 2025年度臨時消防設(shè)備租賃與應(yīng)急響應(yīng)合同4篇
- 紡織機(jī)械企業(yè)供需現(xiàn)狀與發(fā)展戰(zhàn)略規(guī)劃
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- 貨運(yùn)企業(yè)2025年度安全檢查計(jì)劃
- 以發(fā)展為導(dǎo)向共創(chuàng)教育新篇章-2024年期末校長總結(jié)講話稿
- 2025年焊工安全生產(chǎn)操作規(guī)程(2篇)
- 《事故快速處理協(xié)議書》電子版
- 廣東省廣州越秀區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 臨床經(jīng)鼻高流量濕化氧療患者護(hù)理查房
- 2024年貴州省中考數(shù)學(xué)真題含解析
- 8小時等效A聲級計(jì)算工具
- 人教版七年級下冊數(shù)學(xué)計(jì)算題300道
- 社會實(shí)踐登記表
評論
0/150
提交評論