Ⅰ 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);