SQL SERVER如何查詢第一行和最後一行插入的數據

在這裏插入圖片描述

Hi,我是無丶味,這篇文章是我在做數據庫實驗所遇到的問題及解決方法的記錄。
養成好習慣:先點贊後觀看

所遇到的問題

在設置觸發器觸發後所做的事件時,需要根據最新插入表的一行記錄去查詢,於是實驗就陷入卡頓中。

解決方法

經過查閱相關資料及大佬的提點,最後終於解決了這個難題:
在需要查詢的表中添加一個時間列,類型設置爲DATETIME型,在將此列的默認值設置爲GETDATE(),這樣就可以獲取到當前時間(具體到秒),再通過ORDER BY子句設置時間列降序排列,取此列的第一行數據就相當與此表的最後一行數據。
注:不要把時間列設置爲DATE型,這樣的話只是出現日期,不會出現具體時間

select top 1 *
from Vote
order by Ptime desc

在這裏插入圖片描述

如何查詢第一行插入的數據

在表中通過修改語句加入一個時間列,類型爲DATETIME型,默認值爲GETDATE()。

ALTER TABLE 表名
ADD  列名  DATETIME DEFAULT GETDATE();

再通過查詢語句去查詢第一行插入的數據,利用ORDER BY 子句,讓時間列升序排列,取第一行數據即可。

select top 1 *
from 表名
order by 時間列列名 asc

在這裏插入圖片描述

如何去查詢最後一行插入的數據

在表中通過修改語句加入一個時間列,類型爲DATETIME型,默認值爲GETDATE()。

ALTER TABLE 表名
ADD  列名  DATETIME DEFAULT GETDATE();

再通過查詢語句去查詢最後一行插入的數據,利用ORDER BY 子句,讓時間列降序排列,取第一行數據即可。

select top 1 *
from 表名
order by 時間列列名 desc

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章