Ⅰ sql如何建立降序索引 和删除索引
建立降序索引语法:
createindex索引名on表名(字段名desc);
注:desc换成asc则是升序索引。
删除索引语法:
dropindex索引名;
(1)sql索引排列顺序为降序扩展阅读:
索引的使用及注意事项
尽量避免这些不走索引的sql:
1、SELECT `sname` FROM `stu` WHERE `age`+10=30;不会使用索引,因为所有索引列参与了计算。
2、SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; 不会使用索引,因为使用了函数运算,原理与上面相同。
3、SELECT * FROM `hounwang` WHERE `uname` LIKE'后盾%' 走索引。
4、SELECT * FROM `hounwang` WHERE `uname` LIKE "%后盾%"不走索引。
5、字符串与数字比较不使用索引;
CREATE TABLE `a` (`a` char(10));
EXPLAIN SELECT * FROM `a` WHERE `a`="1"走索引。
EXPLAIN SELECT * FROM `a` WHERE `a`=1 不走索引
参考资料:网络索引
Ⅱ sql server 怎么排序
排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序还是降序,就假定为 ASC。
下面的查询返回按 ProctID 升序排序的结果:
代码如下 复制代码
USE AdventureWorks2008R2;
GO
SELECT ProctID, ProctLine, ProctModelID
FROM Proction.Proct
ORDER BY ProctID;
如果 ORDER BY 子句中指定了多个列,则排序是嵌套的。下面的语句先按产品子类别降序排序 Proction.Proct 表中的行,然后在每个产品子类别中按 ListPrice 升序排序这些行。
代码如下 复制代码
USE AdventureWorks2008R2;
GO
SELECT ProctID, ProctSubcategoryID, ListPrice
FROM Proction.Proct
ORDER BY ProctSubcategoryID DESC, ListPrice;
问题
同一个查询的结果集为什麽有时候是按他想要的顺序排列,有时候又不是,或者是在SQL2000里是这个顺序,到了SQL2005/2008又是那个顺序?
其实,只要语句里没有指定“order by”,SQLSERVER并不会按照顺序返回的。有可能你的表里有一个字段已经建立了索引
你想结果集按照那个建立了索引的字段排序,那么你不指定“order by”是没有问题的,因为表的存储顺序就是按照那个字段
的顺序排好序了,所以可以不指定“order by”,但是如果你没有在想排序的那个字段建立索引,或者在SQL2000里建立了
索引,而在SQL2005/2008里没有建立索引,那么就要明确地用“order by”指定。如果你没有指定,哪怕一模一样的查询,
结果集顺序这一次和上一次不一样是很正常的。
Ⅲ sql语句降序排列
你好,很高兴回答你的问题。
sql通过order by来控制排序。
比如select * from 表名 order by ID asc表示按照id列升序,order by ID desc 则表示按照id降序。
如果不指明是asc还是desc则是默认为asc升序。
如果有帮助到你,请点击采纳。
Ⅳ sql server 索引排序问题
如果需要降序排序,使用order by desc,这是默认的,不需要设置也是降序,一般情况下按主键降序排列,
如果要按照某个列降序,就是order by 列名 desc ,升序同理!
Ⅳ sql查询数据库最后10条记录按降序如何排列
SELECT TOP 10 FROM 表名 ORDER BY 排序列 DESC;
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、4………9、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就是最前面的那几条。
Ⅵ 在excel中建立sql索引
建立索引的语法格式如下:CREATE (UNIQUEI[CLUSTER)INDEX<索引名>ON table I view(<列名>[<次序>】L<列名>t<次序>]I ")其中的元素说明如下:table! view要建立素引的基本表或者视图的名字。列名要建立索引的列的名字。索引可以建立在该基本表的一列或者多列上,各个列名用逗号分陇。次序指定索引值的排列次序,可以用升序〔ASC)或者降序(DESC),系统软认值为升序。UNIQUE表明每一个索引值只对应唯一的数据。CLUSTER表明要建立的索引是簇索引。下面将举一个例子来具体说明,代码如下:CREATE UNIQUE CLUSTER INDEX Idxl ON Employee (EmployeeNo)该例将在Employee的EmployeeNo3J上建立一个唯一簇索引,并且Employee的表中的记录将按照Er叩loyceNc值的升序排列.下面代码将在多个列上建立索引:CREATE UNIQUE CLUSTER INDEX Idxl ON Employee(EmployeeNo,Empename)建立索引时有以下几点需要考虑:只有表或视图的所有者才能为表创建索引。每个表中只能创建一个簇索引。对于经常更新的列不宜建立簇索引。索引名在表或视图中必须唯一,但在数据库中不必难一。
Ⅶ sql 升序降序排列
降序:SELECT * FROM kc ORDERBYcpbh DESC
升序:SELECT * FROM kc ORDERBYcpbhASC
语法:
sql可以根据字段进行排序,其中,DESC表示降序,ASC表示升序
order by 字段名 DESC;按照字段名降序排序
order by 字段名 ASC;按照字段名升序排序
实例:
一、/*查询学生表中姓名、学号,并以学号降序排序*/
select name,StuID from Students_information order by StuID desc /**order by 以什么排序,默认为升序,desc是降序*/
二、/*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/
select top 5 name,StuID from Students_information order by StuID /*order by 默认为升序*/
(7)sql索引排列顺序为降序扩展阅读:
一、ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
二、SQL 排序多个字段
order by 多个字段,每个字段后面都有排序方式,默认ASC
例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc
Ⅷ sql数据库降序排列问题
SELECT TOP 10 FROM 表名 ORDER BY 排序列 DESC;
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、4………9、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就是最前面的那几条。
Ⅸ SQL升序降序问题
select*from表where条件orderby姓氏asc,名字asc,订单iddesc
排序顺序直接连着写在order by 后面就可以了,用逗号隔开,当第一个条件相同就按照第二个条件排序,第二个还相同就按照第三个来,升序用asc,也可以不写,降序用desc
Ⅹ sql 中排序先按某字段升序,后按某字段降序。
1.创建一个测试表
createtabletest_order2(idnumber,namevarchar2(20),moneynumber,topnumber,positionnumber);