最近研究了一下SQLSERVER数据库技术,现拿出来跟大伙分享,首先给出T-SQL脚本。
建立一张测试表:
CREATE TABLE TestTable (
Column1 varchar(1),
Column2 int
)
加入一些测试数据:
INSERT INTO TestTable VALUES ('A', 1);
INSERT INTO TestTable VALUES ('A', 1); -- 重复
INSERT INTO TestTable VALUES ('A', 2);
INSERT INTO TestTable VALUES ('B', 1);
INSERT INTO TestTable VALUES ('B', 2);
INSERT INTO TestTable VALUES ('B', 2); --重复
INSERT INTO TestTable VALUES ('C', 2)
DELETE
FROM TestTable
WHERE TestTable.%%lockres%%
NOT IN (SELECT MIN(b.%%lockres%%)
FROM TestTable b
GROUP BY b.column1, b.Column2)
sqlserver2008新特性删除重复记录:
DELETE
FROM TestTable
WHERE TestTable.%%physloc%%
NOT IN (SELECT MIN(b.%%physloc%%)
FROM TestTable b
GROUP BY b.column1, b.Column2);
当然了如果TestTable 具备主键(假设主键为ID且identity(1,1)),我们可以通过传统的T-SQL语句获取不重复的记录:
--建立主键
alter table TestTable with nocheck add
id int identity(1,1) primary key
go
--取唯一记录
select min(ID)from TestTable
group by column1, column2
go
SQLSERVER2005随机取数据:
select top 3 * from TestTable order by newid()
上述语句每次从TestTable内取出的3条随机记录。
SQLSERVER2005 row_number 函数:
该函数主要用于sql分页方面,给出简单范例代码:
select * from(
select id, column1, column2, row_number() OVER(order by id desc ) as row from TestTable
) a
where row between 1 and 3
这里id为 TestTable 的自增主键,每次按主键id降序后取前三条数据行。
查看SQLSERVER2005版本:
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
这里给出不同版本的SQLSERVER2005版本:
RTM版:
sp3版:
SQLSERVER2005所有版本:
发行版 | Sqlservr.exe |
RTM | 2005.90.1399 |
SQL Server 2005 Service Pack 1 | 2005.90.2047 |
SQL Server 2005 Service Pack 2 | 2005.90.3042 |
SQL Server 2005 Service Pack 3 | 2005.90.4035 |
最后,希望本文可以给您带来帮助。
作者:RyanDing
出处:http://www.cnblogs.com/ryanding/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有疑问,可以通过 ryan.d@qq.com 联系作者本人。
分类:
SqlServer
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?