1. 程式人生 > >專案實戰玩轉資料庫之上一篇下一篇

專案實戰玩轉資料庫之上一篇下一篇

問題背景

在這個問題背景中,頁面的大概佈局是下面這張圖的樣子。這是一個關於新聞的網頁,很我們平時見到的新聞網頁沒有上面差別,不過我們都知道,不論是新聞還是部落格都提供了上一篇、下一篇的功能。那麼這個功能如何實現呢?下面就一步步去了解和思考這個問題。
下面看看資料的結構,如下圖。這張表的主鍵是GUID,沒有規律。如果我們的當前新聞頁是資料庫中A記錄,那麼何根據時間的先後順序來讀出距離當前新聞的時間戳最近的上一篇和下一篇新聞?
------------------------------------------------------------------------------------------------------

分析困哪點

1、資料庫中的資料不是按照時間順序排序的。 2、資料庫中沒有自增加的欄位
------------------------------------------------------------------------------------------------------

提出解決方法

用圖來分析問題,如下圖所示。
--------------------------------------------------------------------------------------------------

實戰過程

SQL程式碼:

selecttop 1 * from

 news

whereTimeStamp  <(selectTimeStampfrom News where NewsID='EB334E3F-EDB0-425E-8175-86DAABDA0600') and IsShow='是' and IsEnable =1   orderbyTimeStampDESC

------------------------------------------------------------------------------------------------------------------------------------

總結思考

1、學習要善於使用畫圖,這樣能幫助我們縷清思路。提高學習效率。

2、學習過程中要從巨集觀去思考問題,不能一頭扎進細節出不來。

3、學習的過程,有時候,不僅在於學到的具體內容,更多要注意思考的過程。