數據庫排序語句
數據庫的排序用order by語句實現。
工具:sqlserver 2008R2
步驟:
1、有如下學生表:
2、現要求按學號正序(由小到大)的順序進行輸出,語句如下:
select * from 學生 order by 學號查詢結果:
3、再要求按學號正序(由大到小)的順序進行輸出,語句如下:
select * from 學生 order by 學號 desc結果:
mysql數據庫,排序的語句
在執行查詢結果時,默認情況下查詢結果無序排列。但我們有時需要對數據按一定規則進行排序。這時可以通過ORDER BY子句來實現這個功能。語法如下:
SELECT <*,column [alias],。> FROM table
[WHERE condition(s)]
[ORDER BY column[ASC|DESC]];
默認是ASC指定的升序排列,DESC用來指定降序排列。
1、升序排序:
使用ORDER BY子句時,默認情況下數據是按升序排列的,故可以用ASC關鍵字指點升序排列,或者不指定,默認就是升序,顯示效果是一樣的,如下圖:
2、降序排序:
當需要查詢結果降序排列時,必須在排序后指定DESC關鍵字。如下圖是查看職員薪水的降序排列:
SQL查詢排序后前20條語句
SELECT C.D FROM ( SELECT C,D,ROWNUM RN FROM ( SELECT T.* FROM TABLE1 ORDER BY B DESC --降序 ) T1 ) WHERE RN <= 20 注:用ROWNUM的話,你要先排好序,然后再用ROWNUM生成偽列,再限制行數。
擴展資料:關于sql語句查詢排序 一、sql查詢單詞 order by 是用在where條件之后,用來對查詢結果進行排序 order by 字段名 asc/desc asc 表示升序(默認為asc,可以省略) desc表示降序 order by 無法用于子查詢,否則會報錯:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。 二、關聯查詢(左外查詢)(jt項目菜單查詢)
n]--order by <字段名1> (不寫ASC|DESC, 則默認升序ASC)。
數據庫排序問題(寫出SQL語句)
將字段依次寫在order by 后面即可 , 中間用逗號隔開。
view plaincopy to clipboardprint?
select * from 表 order by time , name
select * from 表 order by time asc , name asc
select * from 表 order by time desc , name desc
select * from 表 order by time asc , name desc
select * from 表 order by time desc , name asc(注: asc 表示升序 , desc表示降序 , 未明確寫明排序方式時默認是升序)
與之類似的語法是 group by , 按多個字段分組時 , 也是依次將多個字段寫在group by 的后面 , 并用逗號隔開 , 范例如下:
view plaincopy to clipboardprint?
select time , name , sum(*) from 表 group by time , name
SQL排序語句
CREATE FUNCTION [dbo].[f_getCombinedNumber]
(
@num1 INT ,
@num2 INT ,
@num3 INT ,
@num4 INT
)
RETURNS INT
AS
BEGIN
DECLARE @result INT
DECLARE @temp VARCHAR(50)= ''
DECLARE @TempTable TABLE ( num INT )
INSERT INTO @TempTable
VALUES ( @num1 ),
( @num2 ),
( @num3 ),
( @num4 )
SELECT @temp = @temp + CAST(num AS VARCHAR)
FROM @TempTable
ORDER BY num
SET @result = CAST(@temp AS INT)
RETURN @result
END
GO
SELECT A ,
b ,
c ,
d ,
dbo.f_getCombinedNumber(a, b, c, d)
FROM dbo.T1