sql正排序
① sql中的排序,如何使用倒序
sql中排序倒序使用desc關鍵字,一般需要和order by 合用,示例sql語句如下:
例如:select * from student order by age desc;
意思是查詢學生表,以學生年紀倒序排列。
排序採用 order by 子句,order by 後面跟上排序欄位,排序欄位可以放多個,多個採用逗號間隔,order by默認採用升序(asc),如果存在 where 子句,那麼 order by 必須放到where 語句後面。
例如:select ename,job,ename from emp order by job desc,sal desc;
意思是查詢員工表按照 job 和薪水倒序排序 。
(1)sql正排序擴展閱讀
sql中升序(正序)用法介紹:
1、使用asc關鍵字
例如:select ename,sal from emp order by sal asc;
手動指定按照薪水由小到大排序(升序關鍵字 asc)
2、不加asc關鍵字,系統默認升序
例如:select ename,job,sal from emp where job = 」MANAGER」order by sal;
取得job 為 MANAGER 的員工,按照薪水由小到大排序(系統默
認由小到大)
② 如何用sql語句排序一個倒一個順
例如,按學生學號升序排列,學生成績按降序排列
sql是這樣寫的:select * from tab order by id,scroe desc
sql server會根據order by跟id scroe 先後進行排序,
先根據id升序排序,再根據scroe降序排序,也許你會發現scroe列的數據不是按照降序排列
這就是優先排序的原則,order by 後面誰在前,誰就優先排序
你可以仔細看看相同的id(你可以插入幾行相同的id,不同scroe),score就是按照降序排列的
③ sql數據排序問題
1.用int就可以正常排序
2.order by len(fee) desc,fee desc
④ 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怎麼寫
select
top
10
from
表名
order
by
排序列
desc;
sql的執行順序先按照你的要求排序,然後才返回查詢的內容。例如有一個名為id自動增長的列,表中有100條數據,列的值得分別是1、2、3、4………9、99、100。那麼查詢加了desc你得到的是91到100條,就是最後十條,如果加asc你得到的將會是1到10,也就是最前面的那幾條。
⑥ SQL排序問題
sql排序的規則是,按照第一個欄位的順序正序或倒序排列,
當第一個欄位是相同的,那麼會按照第二個欄位的正序或倒序排列
依次類推,如果後面沒有排序欄位,會隨機排列
所以,按照第一個欄位倒序,按照第二個欄位正序排列,結果視覺顯示全部到序,原因可能是
第一個欄位並無相同的,且第一個欄位和第二個排序欄位數值的增減是成反比的。
⑦ sql 排序
最新10條,從新到舊
select top 10 * from tablename order by createdate desc
最新10條,從舊到新
select * from
(select top 10 * from tablename order by createdate desc)
order by createdate asc
⑧ sql如何排序
order by 加上你想排序的欄位,可以接多個欄位,放在前面的優先排序
例如 SELECT ID FROM TEST ORDER BY ID,NAME
從表test選出ID來 ,並按照ID和NAME排序
按你的需求只要這樣寫就可以了
SELECT * FROM TABLE ORDER BY NAME
⑨ sql中排序要怎麼寫
1.語法:
SELECT "欄位名"
FROM "表格名"
[WHERE "條件"]
ORDER BY "欄位名" [ASC, DESC];
2.注意事項:先分組再排序,運用的是ORDER BY,後面加的是你要按什麼排序,如果按照升序可以不用寫或者加上ASC;如果是降序,要加上DESC。
3.例子:SELECT id FROM user ORDER BY id;