最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

sqlserver中orderby排序用法

来源:动视网 责编:小采 时间:2020-11-09 09:59:28
文档

sqlserver中orderby排序用法

sqlserver中orderby排序用法:ORDER BY 语句用于根据指定的列对结果集进行排序,ORDER BY 语句默认按照升序对记录进行排序,如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。 排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序还是降序,就假定为 ASC。 下
推荐度:
导读sqlserver中orderby排序用法:ORDER BY 语句用于根据指定的列对结果集进行排序,ORDER BY 语句默认按照升序对记录进行排序,如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。 排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序还是降序,就假定为 ASC。 下


ORDER BY 语句用于根据指定的列对结果集进行排序,ORDER BY 语句默认按照升序对记录进行排序,如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

排序可以是升序的 (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”指定。如果你没有指定,哪怕一模一样的查询,

结果集顺序这一次和上一次不一样是很正常的。

文档

sqlserver中orderby排序用法

sqlserver中orderby排序用法:ORDER BY 语句用于根据指定的列对结果集进行排序,ORDER BY 语句默认按照升序对记录进行排序,如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。 排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序还是降序,就假定为 ASC。 下
推荐度:
标签: 使用 用法 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top