扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
只需要在查询分析器中设置,
魏都ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
操作如下
工具-
选项-
文本编辑器-
所有语言-
常规-
显示-
行号
也可以参考下列图片:
你是指row_number()函数吗?
是为每一条数据反回一个行号。
如:select row_number() over ( order by col1) ,* from table1 返回按col1排序后的序号
也可以为每一组返回一个行号,每组的行号从1开始
如select row_number() over(partition by col1 order by col1) ,* from table1
SqlServer 2000不支持行编号,这点和甲骨文的数据库是不同的。如果你需要行号的话,需要自己添加一个自增长的int列,并维护它——强烈不建议这样做,因为开销很大。
select 编号,row_number () over (partition by 编号 order by 编号) 行号 from 表名
这样吗?
SQL Server查询本身不提供行号,需要通过row_number函数来自己构建。
SQL Server版本:SQL Server 2008 R2
有如下数据:
要添加行号,可用如下语句:
select row_number() over (order by 年龄) 行号,姓名,年龄,所任职务 from t
查询结果如下,行号就添加进去了。
排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序还是降序,就假定为
ASC。
下面的查询返回按
ProductID
升序排序的结果:
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductLine,
ProductModelID
FROM
Production.Product
ORDER
BY
ProductID;
如果
ORDER
BY
子句中指定了多个列,则排序是嵌套的。下面的语句先按产品子类别降序排序
Production.Product
表中的行,然后在每个产品子类别中按
ListPrice
升序排序这些行。
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductSubcategoryID,
ListPrice
FROM
Production.Product
ORDER
BY
ProductSubcategoryID
DESC,
ListPrice;
问题
同一...排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序还是降序,就假定为
ASC。
下面的查询返回按
ProductID
升序排序的结果:
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductLine,
ProductModelID
FROM
Production.Product
ORDER
BY
ProductID;
如果
ORDER
BY
子句中指定了多个列,则排序是嵌套的。下面的语句先按产品子类别降序排序
Production.Product
表中的行,然后在每个产品子类别中按
ListPrice
升序排序这些行。
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductSubcategoryID,
ListPrice
FROM
Production.Product
ORDER
BY
ProductSubcategoryID
DESC,
ListPrice;
问题
同一个查询的结果集为什麽有时候是按他想要的顺序排列,有时候又不是,或者是在SQL2000里是这个顺序,到了SQL2005/2008又是那个顺序?
其实,只要语句里没有指定“order
by”,SQLSERVER并不会按照顺序返回的。有可能你的表里有一个字段已经建立了索引
你想结果集按照那个建立了索引的字段排序,那么你不指定“order
by”是没有问题的,因为表的存储顺序就是按照那个字段
的顺序排好序了,所以可以不指定“order
by”,但是如果你没有在想排序的那个字段建立索引,或者在SQL2000里建立了
索引,而在SQL2005/2008里没有建立索引,那么就要明确地用“order
by”指定。如果你没有指定,哪怕一模一样的查询,
结果集顺序这一次和上一次不一样是很正常的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流