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

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

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值