[SQL ] M$SQL 實作 limit 疑問

看板Database (資料庫)作者 (右持滑鼠左打鍵盤)時間18年前 (2007/02/05 17:12), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/3 (看更多)
我是新手我是新手,請不要捅我太大力拜託 由於客戶用該死的〔昏倒伺服二千專業〕所以必須使用 M$SQL 要製作簡易的搜尋,在將結果列出時遇到問題 一大堆資料當然不可能一次全列出,通常做法是 limit 舉例,都是取第 40 ~ 50 筆資料 MySQL statement: select * from <table> where <field> = <some rules> limit <40>, <50> order by <order> desc M$SQL statement: select * from (select top <10> <field1>, <field2>... from (select top <50> <field1>, <field2>... from <table> where <field> = <some rules> order by <order> desc) as newtable1 order by <order> asc) as newtable2 order by <order> desc 相信大家看到這個指令都昏倒了,請原諒,小弟是新手 再笨的人也知道,丟一個 sql statement 卻有了 三次的 selects 跟三次的 order-bys 效能自然是可笑無比了,同樣功能在我的爛 BSD 上效能差達十倍有餘 〔我知道我硬幹是不對的 ~_~ 〕 勉強以這樣的原則寫出來的程式真可是奇醜無比 畢竟要動態增減一堆有的沒有的條件 在不動用 store procedure 的情況下,想請教有什麼正規的做法嗎? -- This posting is provided "AS IS" with no warranties, and confers no rights. -- ※ 編輯: jsu 來自: 71.197.134.121 (02/05 17:13)

02/05 20:57, , 1F
整個limit語法只有裡面兩個select是必須的,外面那個
02/05 20:57, 1F
文章代碼(AID): #15nlKHlB (Database)
討論串 (同標題文章)
文章代碼(AID): #15nlKHlB (Database)