看板 Database 關於我們 聯絡資訊
我是新手我是新手,請不要捅我太大力拜託 由於客戶用該死的〔昏倒伺服二千專業〕所以必須使用 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)
retsamsu:整個limit語法只有裡面兩個select是必須的,外面那個 02/05 20:57