程序人生

          撰寫生活代碼,等待編譯美好人生
          隨筆 - 48, 文章 - 0, 評論 - 29, 引用 - 0
          數(shù)據(jù)加載中……

          [筆記]一個MySQL查詢,查詢指定ID的前一記錄,后一記錄,當(dāng)前記錄

          有些時候需要查詢給定ID的前一記錄后一記錄和ID對應(yīng)的記錄。比如一些新聞系統(tǒng)中,通過GET方法獲得文章ID需要顯示“前一篇文章”“后一篇文章” 和ID指定的文章。
          下面是我用的一種查詢方法,可能效率,如果有更好的方法,請給我留言,不勝感激!
          SELECT?art_id,?art_pdate
          FROM?ecos_article
          WHERE?art_id>75?limit?0,1
          UNION
          SELECT?art_id,?art_pdate
          FROM?ecos_article
          WHERE?art_id<=75?ORDER?BY?art_id?DESC?limit?0,3;
          效果如下:
          mysql> SELECT art_id, art_pdate FROM ecos_article limit 0,5;
          +--------+------------+
          | art_id | art_pdate? |
          +--------+------------+
          |???? 73 | 2005-12-01 |
          |???? 74 | 2005-12-01 |
          |???? 75 | 2005-12-01 |
          |???? 76 | 2005-12-01 |
          |???? 77 | 2005-12-01 |
          +--------+------------+

          mysql> SELECT art_id, art_pdate
          ??? -> FROM ecos_article
          ??? -> WHERE art_id>75 limit 0,1
          ??? -> UNION
          ??? -> SELECT art_id, art_pdate
          ??? -> FROM ecos_article
          ??? -> WHERE art_id<=75 ORDER BY art_id DESC limit 0,3;
          +--------+------------+
          | art_id | art_pdate? |
          +--------+------------+
          |???? 76 | 2005-12-01 |
          |???? 75 | 2005-12-01 |
          |???? 74 | 2005-12-01 |
          +--------+------------+

          posted on 2006-04-06 16:22 405 Studio 閱讀(1284) 評論(0)  編輯  收藏 所屬分類: MySQL


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丹寨县| 吕梁市| 蓝田县| 普安县| 崇仁县| 晋宁县| 彭水| 大埔区| 馆陶县| 三都| 宜良县| 瑞丽市| 修文县| 舟曲县| 琼海市| 满洲里市| 环江| 南阳市| 永济市| 潜江市| 台东市| 都匀市| 葫芦岛市| 安康市| 绥芬河市| 灵山县| 沁源县| 祁阳县| 景洪市| 额尔古纳市| 江达县| 长阳| 乌拉特前旗| 武义县| 宽城| 九寨沟县| 玛曲县| 綦江县| 会泽县| 津市市| 永春县|