伊莉討論區
標題:
關於MYSQL範圍讀取[已解決]
[打印本頁]
作者:
han860
時間:
2016-9-2 01:14 PM
標題:
關於MYSQL範圍讀取[已解決]
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
alextang1030
時間:
2016-9-3 12:40 AM
我的想法是
你先從用戶那邊拿取他要的起點跟終點
再從資料庫裡拿出所有ID(只要ID)並按順序排好放array中(假設有可能不是按ID的大小來排順序)
然後用array_search 來找出起點的KEY跟終點的KEY
正向的就用FOR LOOP 從起點開始排到終點
取得新的正向ID ARRAY
反向的就先用FOR LOOP從起點開始往回到KEY0
取得一部份的反向ID ARRAY
再從總ARRAY 的END開始FOR LOOP回終點
那就可以取得剩下的ID順序放到反向ID ARRAY中
最後再去資料庫用ARRAY來拿東西就好了
以上是個人的看法,應該是有更好更簡單的
有勞其他大大幫忙了
作者:
chevylin0802
時間:
2016-9-3 05:52 AM
example:
SELECT * FROM tablename WHERE id >= 4 AND id <= 8 ORDER BY id DESC;
就可以得到8, 7, 6, 5, 4 的結果
但是如果要跨越原點的時候
就需要分成兩次
或者乾脆照樓上的方式做
作者:
han860
時間:
2016-9-4 07:29 PM
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
han860
時間:
2016-9-6 04:22 PM
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
chevylin0802
時間:
2016-9-6 05:31 PM
han860 發表於 2016-9-6 04:22 PM
感謝兩位大大的解說~~
問題已經解決了~~
多謝!!^^
有做出來就好
雖然不是最佳的解決方案
不過有總比沒有的好
MySQL其實有很多的功能並沒有被人們所使用到
比如VIEW的功能
比如stored procedure/user defined function的功能
比如trigger的功能等
但對於想要更進一步的深入
甚至可能考慮過參與外國企業的大型研發計劃的話
那麼就有必要更深入的去研究那些部份
畢竟資料庫那麼多個語法與功能被定義出來並不是擺好看的
只是國內多數開發資料庫的人貪快而不去深究這些東西
事實上我更相信有許多人連commit都沒用過
這其實都不是好事
因為嚴謹度不夠的開發
往往充斥著不少看不見的BUG
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!