none
資料庫 select 的問題 RRS feed

  • 問題

  • 各位大大請教一般我在 select 資料庫全部穩料時,我是下

    "select * from 人名", oledbl

    如果我只要select 前20筆,我是這樣下的

    "select top 20 * from 密碼", oledbl 

    但如果我資料庫裡有300筆,但我只要select 出 第 26筆 至 85筆 這些資料時,請問我該如何做,麻煩教我一下,謝謝 。

    2010年7月6日 上午 08:44

解答

所有回覆

  • 有一種簡單的方法, 你先Select Top 85, 資料不是會塞進一個Datatable嗎?

     然後用一個 for 迴圈, 值從0 to 24

    然後在迴圈內DataTable.Rows.RemoveAt(0)


    以下是簽名檔, 請勿沒事對號入座
    MSDN 文件庫很重要
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    進步的人會找尋自己程式中的缺點,半桶水則把自己程式的錯誤推到不相干事物的身上
    2010年7月6日 上午 08:55
    版主
  • Hi!

    假如您是 SQL Server 的話,可以這樣

    SELECT * FROM (
    SELECT ROW_NUMBER () OVER (ORDER BY 欄位) AS RowNumber, *
    FROM 資料表) M
    WHERE M.RowNumber >= 26 AND M.RowNumber <= 85

    歡迎參觀我的Blog.NET菜鳥自救會
    微軟MVP與點部落之友經驗交流見面會
    • 已標示為解答 賀小美 2010年7月6日 上午 09:39
    2010年7月6日 上午 09:07
    版主
  • 抱歉我表達的不清楚,我的意思是說,如果我資料庫裡有三百筆資料,我想從第二十六筆開始select出來到第85筆結束,我也是用迴圈的方式嗎?
    2010年7月6日 上午 09:09
  • 我是用access
    2010年7月6日 上午 09:12
    • 已標示為解答 賀小美 2010年7月6日 上午 09:38
    2010年7月6日 上午 09:12
  • 抱歉我表達的不清楚,我的意思是說,如果我資料庫裡有三百筆資料,我想從第二十六筆開始select出來到第85筆結束,我也是用迴圈的方式嗎?


    用 BillChung 的方式就可以了


    歡迎參觀我的Blog.NET菜鳥自救會
    微軟MVP與點部落之友經驗交流見面會
    2010年7月6日 上午 09:19
    版主
  • http://tlcheng.spaces.live.com/blog/cns!145419920BFD55A7!1868.entry
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年7月6日 下午 02:14
  • 各位大大您們好,我又有一個問題想來請教各位大大,之前我請教了一個如何select資料庫的問題如下

    ************************************************************************************************

    各位大大請教一般我在 select 資料庫全部穩料時,我是下

    "select * from 人名", oledbl

    如果我只要select 前20筆,我是這樣下的

    "select top 20 * from 密碼", oledbl 

    但如果我資料庫裡有300筆,但我只要select 出 第 26筆 至 85筆 這些資料時,請問我該如何做,麻煩教我一下,謝謝 。

    *********************************************************************************************************

    感謝小歐ou等大大的幫忙,使得問題得已解決

    SELECT * FROM (
    SELECT ROW_NUMBER () OVER (ORDER BY 欄位) AS RowNumber, *
    FROM 資料表) M
    WHERE M.RowNumber >= 26 AND M.RowNumber <= 85
    *****************************************************************

    如果今天我要select access資料庫中的(假設有三百筆)第26到第85筆,及第120筆到250筆的資料,請問大大這樣的話我該如何做呢,麻煩大大們指教。謝謝,下面是我自已亂搞的,這樣的寫法可以嗎?

    SELECT * FROM (
    SELECT ROW_NUMBER () OVER (ORDER BY 欄位) AS RowNumber, *
    FROM 資料表) M
    WHERE M.RowNumber (>= 26 AND M.RowNumber <= 85) and (>= 120 AND M.RowNumber <= 250)

    • 已合併 璉璉Moderator 2010年7月10日 上午 03:49 承上篇就不要拆文
    2010年7月9日 上午 08:54
  • SELECT * FROM (
    SELECT ROW_NUMBER () OVER (ORDER BY ENTITY_ID) AS RowNumber, *
    FROM SWIP_ENTITY) M
    WHERE (M.RowNumber >= 26 AND M.RowNumber <= 85) OR (M.RowNumber >= 120 AND M.RowNumber <= 250)
    
    

    歡迎參觀我的Blog.NET菜鳥自救會
    微軟MVP與點部落之友經驗交流見面會
    • 已提議為解答 阿尼 2010年7月9日 上午 11:57
    2010年7月9日 上午 11:54
    版主
  • 謝謝大大,我本來是用這樣的方式

    ("Select top 56 * from 外出地點 where 外出地點 Not in (Select top 25 外出地點 from 外出地點) ", oledbl)

    大大妳的方式我也承試用過,但我就是找不出那裡錯了,所以就用 NOT IN 的方式

    我資料庫裡有編號、認證碼、外出地點共三欄資料欄位,如果我想使用大大您的方式我該怎麼修改大大教我的方式

     ROW_NUMBER ()  <-- 這個我一直搞不懂

    2010年7月9日 下午 01:01
  •  ROW_NUMBER ()  <-- 這個我一直搞不懂

    那是從 SQL Server 2005 之後才有的函式,其實還有其他方式:SQL Server 2005 - 如何讓 SELECT 查詢結果額外增加自動遞增序號
    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    在本討論區使用正體中文(即繁體中文),是對參與的朋友的一種尊重,因此請用本討論區的語言:正體中文。
    2010年7月9日 下午 01:28
  • 回你上一篇 資料庫 select 的問題 給的連結,適用於 SQL Server / Access ,通常會用 oledb 多半是 Access ,你根本沒看:

    http://tlcheng.spaces.live.com/blog/cns!145419920BFD55A7!1868.entry

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年7月9日 下午 02:38
  • Access DB不能用 ROW_Number吧 ?

     


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年7月10日 上午 02:47
    版主
  • 謝謝各位大大提供的文件,我自已試了幾次終於試出來了,有個問題想請問一下,前天我發問的問題"資料庫 select 的天真問題" 為什麼會連不進去?因為有二次這樣的情形了。是我犯規被刪文了嗎?
    • 已變更類型 賀小美 2010年7月10日 下午 03:24
    • 已變更類型 bauannModerator 2010年7月10日 下午 04:45 非問題
    • 已合併 璉璉Moderator 2010年7月10日 下午 05:00 同一討論緒請接續前文,不要另開新文
    2010年7月10日 下午 03:23
    • 已標示為解答 賀小美 2010年7月10日 下午 04:37
    2010年7月10日 下午 03:48
  • 謝謝各位大大提供的文件,我自已試了幾次終於試出來了,有個問題想請問一下,前天我發問的問題 "資料庫 select 的天真問題 " 為什麼會連不進去?因為有二次這樣的情形了。是我犯規被刪文了嗎?

    試出來結果是 ?

    因為Access 應該是不能用ROW_NUMBER, 所以, 可以回應一下我們的疑惑嗎 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年7月11日 上午 05:40
    版主