排序sql
Ⅰ sql排序語句
你的寫法是錯誤的,按照你的寫法在對n進行降序排序時,第一個m升序排序結果會失效,等於最終只讀n做了降序排序,而且你的語句本身也比較冗餘。
正確的寫法是:
SELECT * FROM a ORDER BY m ASC ,n DESC;
我們可以通過一些實例來具體分析order by 子句的用法:
假設有Orders 表:
注意:在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
Ⅱ sql 多種情況排序
大概這樣:
order by
case when 符合置頂日期范圍內 then
'0' + 排序(排序可能需要轉字元,根據不同資料庫使用不同函數)
else '1'
end
,id desc
Ⅲ sql排序語句怎麼寫
select * from 你的表名字 order by user_lasttime asc
Ⅳ sql按條件排序
select paixu,id from td group by paixu,id order by id*(paixu-0.5)
如果還要選別的列必須給該列加上聚合函數 比如min() max()都可以
Ⅳ SQL 如何根據兩個欄位排序
1、首先建一張測試表coal_blead,裡面有多個欄位
Ⅵ 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 GYS_ID,SUM(bj) from table
where GYS_ID = '60' or GYS_ID = '61'
group by GYS_ID
Ⅷ SQL如何條件順序排列查詢結果
用CASE進行轉義就可以了
SELECT T1.A,T2.B,T1.C,T2.C
FROM T1 INNER JOIN T2
ON T1.C= T2.C
WHERE T1.A IN ('11','55','33','88')
ORDER BY CASE T1.A
WHEN '11' THEN 1
WHEN '55' THEN 2
WHEN '33' THEN 3
WHEN '88' THEN 4
END
意思是將T1.A的值根據條件轉為1,2,3,4這樣的數據來排序
你測試一下是不是你要的結果
Ⅸ 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 默認為升序*/
(9)排序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語句
update 表 set 中獎等級="1等獎" where id between 1 and 10
update 表 set 中獎等級="2等獎" where id between 11 and 30
update 表 set 中獎等級="3等獎" where id between 31 and 60
說明,id如果有一定規律,不一定與記錄號相同,可以考慮用上面的方法,上面命令不能照搬。