文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQLSERVER2005 EXPRESS部分特性小结

SQLSERVER2005 EXPRESS部分特性小结

时间:2011-02-22  来源:ryanding

建立一张测试表:

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)
使用sqlserver2005新特性删除重复记录:
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

最后,希望本文可以给您带来帮助。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载