線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4454
推到 Plurk!
推到 Facebook!

SQL語法(資料庫 Access)請教,取前五筆資料,還有取後五筆資料,還有取第八筆之後的所有資料

尚未結案
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-11 18:41:37 IP:221.169.xxx.xxx 未訂閱
SQL語法(資料庫 Access)請教,取前五筆資料,還有最後8筆資料,還有取第八筆之後的所有資料    在oracle可以用二層rownum解決 access 我就不太會了 ,所以請教各位    如圖
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-11 19:04:38 IP:202.62.xxx.xxx 未訂閱
您好﹗    第一種﹕ Select Top 5 * From 資料表    第二種﹕ 直接用SQL可能不行﹐想到一個變通的方法﹐如下﹕ Step1.先用Select Count(*) From 資料表﹐然后將其減掉8﹐再賦給Integer變數NumberTemp記錄 Step2.再下SQL語法如下﹕ Select * From 資料表 Where 鍵值欄位 Not In (Select Top Temp 鍵值欄位 From 資料表 Step3.再用StringReplace函數用NumberTemp變數更換SQL中的Temp﹐如下﹕ StringReplace(ADOQuery1.SQL.Text, 'Number', IntToStr(NumberTemp), []);    第三種﹕ Select * From 資料表 Where 鍵值欄位 Not In (Select Top 8 鍵值欄位 From 資料表)    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-12 08:44:28 IP:221.169.xxx.xxx 未訂閱
請教第二種可以先 反方向排序 然後一樣用 top嗎
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-12 08:57:07 IP:202.62.xxx.xxx 未訂閱
您好﹗    似乎沒有針對Access資料庫形態的反向Top的SQL語法﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-12 10:00:54 IP:210.64.xxx.xxx 未訂閱
你好 可以試試看 SELECT top 5 * FROM dbo_tblnewimport_e union select * from dbo_tblnewimport_e where date_ex not in (select top 8 date_ex from dbo_tblnewimport_e) 如果資料筆數大於13筆的時候,這樣的做法是可以的!!因為最後8筆資料,還有取第八筆之後的所有資料如果資料筆數大於13筆以上,就等於不取前八筆的資料!!試試看吧!! Pillar Wang
------
Pillar Wang
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-12 10:05:23 IP:221.169.xxx.xxx 未訂閱
cashxin2002兄 我是指先做逆向的排序,再取top ,可行嗎 我要請教的是 三個sql喔 不是一個sql喔 大家不要誤解了
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-12 10:14:44 IP:202.62.xxx.xxx 未訂閱
您好﹗    這樣當然可以﹕    Select Top 8 * From (Select * From 資料表 Order By 鍵值欄位 DESC) 排序的參數可根据要求而定﹐如果資料庫原本是升序﹐SQL中就用DESC(降序)﹐如果資料庫原本是降序﹐SQL中就用ASC(升序)﹐以達到反向的目的﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-07-02 23:33:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!