当前位置: 首页 > news >正文

竞价推广培训/湖南seo优化推荐

竞价推广培训,湖南seo优化推荐,系统开发报价,wordpress在线朗读我们知道,SQL Server 2005和SQL Server 2000 相比较,SQL Server 2005有很多新特性。这篇文章我们要讨论其中的一个新函数Row_Number()。数据库管理员和开发者已经期待这个函数很久了,现在终于等到了! 通常,开发者和管理…

我们知道,SQL Server 2005和SQL Server 2000 相比较,SQL Server 2005有很多新特性。这篇文章我们要讨论其中的一个新函数Row_Number()。数据库管理员和开发者已经期待这个函数很久了,现在终于等到了!


 

通常,开发者和管理员在一个查询里,用临时表和列相关的子查询来计算产生行号。现在SQL Server 2005提供了一个函数,代替所有多余的代码来产生行号。

 

我们假设有一个资料库[EMPLOYEETEST],资料库中有一个表[EMPLOYEE],你可以用下面的脚本来产生资料库,表和对应的数据。

 

USE [MASTER]
GO

IF  EXISTS (SELECT NAME FROM SYS.DATABASES WHERE NAME = N'EMPLOYEE TEST')
DROP DATABASE [EMPLOYEE TEST]
GO

CREATE DATABASE [EMPLOYEE TEST]
GO

USE [EMPLOYEE TEST]
GO

IF  EXISTS SELECT * FROM SYS.OBJECTS HERE OBJECT_ID = OBJECT_ID(N'[DBO].[EMPLOYEE]') AND TYPE IN (N'U'))
DROP TABLE [DBO].[EMPLOYEE]
GO

CREATE TABLE EMPLOYEE (EMPID INT, FNAME VARCHAR(50),LNAME VARCHAR(50))
GO

INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (2021110, 'MICHAEL', 'POLAND')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (2021110, 'MICHAEL', 'POLAND')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (2021115, 'JIM', 'KENNEDY')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (2121000, 'JAMES', 'SMITH')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (2011111, 'ADAM', 'ACKERMAN')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (3015670, 'MARTHA', 'LEDERER')
INSERT INTO EMPLOYEE  (EMPID, FNAME, LNAME) VALUES (1021710, 'MARIAH', 'MANDEZ')
GO

 

我们可以用下面的脚本查询EMPLOYEE表。

 

SELECT EMPID, RNAME, LNAME FROM EMPLOYEE

 

这个查询的结果应该如图1.0

 

2021110

MICHAEL

POLAND

2021110

MICHAEL

POLAND

2021115

JIM

KENNEDY

2121000

JAMES

SMITH

2011111

ADAM

ACKERMAN

3015670

MARTHA

LEDERER

1021710

MARIAH

MANDEZ


图1.0

 

在SQL Server 2005,要根据这个表中的数据产生行号,我通常使用下面的查询。

 

SELECT ROWID=IDENTITY(int,1,1) , EMPID, FNAME, LNAME INTO EMPLOYEE2 FROM EMPLOYEE ORDER BY EMPID

 

这个查询创建了一个新的表,用identify函数来产生行号。我们用下面的查询来看看这个表的数据。

 

SELECT ROWID, EMPID, FNAME, LNAME FROM EMPLOYEE2

 

上面的查询结果如图1.1

 

1

1021710

MARIAH

MANDEZ

2

2011111

ADAM

ACKERMAN

3

2021110

MICHAEL

POLAND

4

2021110

MICHAEL

POLAND

5

2021115

JIM

KENNEDY

6

2121000

JAMES

SMITH

7

3015670

MARTHA

LEDERER


图1.1

 

这个查询结果很明显EMP=2021110的行是重复的数据。

 

要删除EMPID=2021110的重复数据,我们必须在EMPLOYEE2表中删除,不能直接在EMPLOYEE中删除。

 

SQL Server 2005提供了一个新的函数(Row_Number())来产生行号。我们可以使用这个新函数来删除原来表中的重复数据,只用通常的表达方式再加上Row_Number()函数。

 

让我们用Row_Number()函数根据EMPID来产生ROWID。

 

SELECT ROW_NUMBER() OVER (ORDER BY EMPID ASC) AS ROWID, * FROM EMPLOYEE

 

上面的查询结果如图1.2

 

1

1021710

MARIAH

MANDEZ

2

2011111

ADAM

ACKERMAN

3

2021110

MICHAEL

POLAND

4

2021110

MICHAEL

POLAND

5

2021115

JIM

KENNEDY

6

2121000

JAMES

SMITH

7

3015670

MARTHA

LEDERER


图1.2

 

在这个结果中,我们可以区别EMPID是2021110的重复数据。

 

我们可以用通用表查询表达式和Row_Numner()函数来选出重复的那行数据。

 

WITH [EMPLOYEE ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY EMPID ASC) AS ROWID, * FROM EMPLOYEE)
SELECT * FROM [EMPLOYEE ORDERED BY ROWID] WHERE ROWID =4

上面的查询结果如图1.3

 

4

2021110

MICHAEL

POLAND


图1.3

 

这一行重复的数据可以用下面这个通用表和Row_Number()函数来删除。

 

WITH [EMPLOYEE ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY EMPID ASC) AS ROWID, * FROM EMPLOYEE)
DELETE FROM [EMPLOYEE ORDERED BY ROWID] WHERE ROWID =4

 

删除以后,我们可以用下面的查询语句看一下结果。

 

SELECT * FROM EMPLOYEE

 

这个查询结果如图1.4

 

2021110

MICHAEL

POLAND

2021115

JIM

KENNEDY

2121000

JAMES

SMITH

2011111

ADAM

ACKERMAN

3015670

MARTHA

LEDERER

1021710

MARIAH

MANDEZ


图 1.4

 

这里我们可以看到,重复的数据已经被删除了。

 

总结

在这篇文章中,我们讨论了SQL Server 2005 的新特性Row_Number()函数,还有通常的表表达式,然后如何使用这两个来删除重复的行。

转载于:https://www.cnblogs.com/panjun-Donet/archive/2010/07/14/1777112.html

http://www.jmfq.cn/news/5129767.html

相关文章:

  • 手机网站建设要素/移动端关键词排名优化
  • 仙桃做网站的个人/网站宣传文案范例
  • 查询网站建设/宁波seo基础入门
  • 设计师网站都有哪些/清远网站seo
  • 天津网站策划/安卓优化大师最新版
  • 求职网站建设/南宁seo渠道哪家好
  • 创建网站的过程/seo关键词优化排名外包
  • 代办公司是什么意思/四川网站seo
  • 北京建设职工大学网站/网络热词2022流行语及解释
  • wordpress网站漏洞/软文如何推广
  • 做网站底部不显示中文怎么回事/宣传推广渠道有哪些
  • 如何看出一个网站有做seo/南京百度搜索优化
  • 网站开发设计论文/宁波seo软件免费课程
  • 萝卜建站下载/免费sem工具
  • 多种郑州网站建设/seo网站排名优化服务
  • 十度公司做网站怎么样/网站提交链接入口
  • 网站开发项目培训/手游推广渠道
  • 做网站视频下载/搜索引擎营销案例分析
  • 网站建设自己在家接单/李江seo
  • 网站怎么做才被收录快/模板建站网页
  • 设计网站首页1/百度seo白皮书
  • 鹿邑网站建设/手机推广平台有哪些
  • 南京网站设计案例/管理培训
  • 运城微信网站建设/百度识图在线网页版
  • 手机上怎么做网站/优化营商环境的措施建议
  • 流水线 东莞网站建设/百度网站打不开
  • 网站开发后台前端数据库/赣州seo排名
  • 电商网站开发商/广州网站排名优化报价
  • 网站建设 广西/互联网营销工具
  • 网上保险平台有哪些靠谱/长沙网站优化推广方案