扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
排序可以是升序的
创新互联专注于企业成都全网营销推广、网站重做改版、鼓楼网站定制设计、自适应品牌网站建设、成都h5网站建设、电子商务商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鼓楼等各大城市提供网站开发制作服务。
(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”指定。如果你没有指定,哪怕一模一样的查询,
结果集顺序这一次和上一次不一样是很正常的。
select * from table_name order by id
select * from table_name order by id desc 是降序
select * from table_name order by id asc 是升序
可以通过 “order by 字段名 asc (desc)” 命令进行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:从大到小排序) ,用 ACS 表示按正序排序(即:从小到大排序)。
参考资料
csdn.csdn[引用时间2018-1-28]
看你状态用的什么数据类型了。要是用的字符型,那升序降序都是按照字母序。升序就asc降序就desc
order by 状态 desc 截止时间 asc
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流