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

在这里插入图片描述
在这里插入图片描述

原创文章 18 获赞 273 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43730105/article/details/105786226