新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
//搜索前10条记录
在晋源等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作按需策划设计,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,外贸网站建设,晋源网站建设费用合理。
select * from table limit 10
//倒序排列----以id做排序
select * from table order by id desc
//正序排列----以id号排序
select * from table order by id asc
//搜索前10条记录并倒序排列
select * from table order by id desc limit 10
//limit 要放在后面
正序 ASC
倒序DESC
根据你的题意大概可以这样
select 顶部5个 列名 来自 表名 排序 bookID 倒序
select top 5 bookID from 表名 order by bookID DESC
因为bookID 是自增的,所以直接根据id来查倒序的最上面5个,就是最新的(自增的最大值就是最新值)
排序可以是升序的 (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”指定。如果你没有指定,哪怕一模一样的查询,
结果集顺序这一次和上一次不一样是很正常的。