當前位置:首頁 » 編程語言 » sql語句排序的問題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句排序的問題

發布時間: 2022-05-02 00:42:04

A. sql語句復雜排序問題,在線請高手解答

CREATETABLE#temp(
TYPE char(1),
INDINAME INT,
INDIVALUEINT
);


INSERTINTO#tempVALUES('A',1001,6);
INSERTINTO#tempVALUES('A',1001,2);
INSERTINTO#tempVALUES('A',1002,3);
INSERTINTO#tempVALUES('A',1003,5);

INSERTINTO#tempVALUES('B',1001,1);
INSERTINTO#tempVALUES('B',1002,4);
INSERTINTO#tempVALUES('B',1002,3);
INSERTINTO#tempVALUES('B',1003,6);

INSERTINTO#tempVALUES('C',1001,4);
INSERTINTO#tempVALUES('C',1002,6);
INSERTINTO#tempVALUES('C',1003,2);
GOSELECT
temp.TYPE,
temp.INDINAME,
MAX(temp.INDIVALUE)ASINDIVALUE
FROM
#temptemp
JOIN
(
SELECT
t.TYPE,
ROW_NUMBER()OVER(ORDERBYMAX(INDIVALUE)DESC)ASxNo
FROM
#tempt
WHERE
t.INDINAME=1001
GROUPBY
t.TYPE
)SubQuery1001
ON(temp.TYPE=SubQuery1001.TYPE)
GROUPBY
SubQuery1001.xNO,
temp.TYPE,
temp.INDINAME
ORDERBY
SubQuery1001.xNO,
temp.INDINAME
GO

TYPEINDINAMEINDIVALUE
--------------------------
A10016
A10023
A10035
C10014
C10026
C10032
B10011
B10024
B10036

(9行受影響)


SELECT
temp.TYPE,
temp.INDINAME,
MAX(temp.INDIVALUE)ASINDIVALUE
FROM
#temptemp
JOIN
(
SELECT
t.TYPE,
ROW_NUMBER()OVER(ORDERBYMAX(INDIVALUE)DESC)ASxNo
FROM
#tempt
WHERE
t.INDINAME=1003
GROUPBY
t.TYPE
)SubQuery1001
ON(temp.TYPE=SubQuery1001.TYPE)
GROUPBY
SubQuery1001.xNO,
temp.TYPE,
temp.INDINAME
ORDERBY
SubQuery1001.xNO,
temp.INDINAME
GO

TYPEINDINAMEINDIVALUE
--------------------------
B10011
B10024
B10036
A10016
A10023
A10035
C10014
C10026
C10032

(9行受影響)

B. 請教sql語句排序問題

id的大小就代表時間的先後,所以,先按id排,再按號碼排
select id,電話號碼,撥號時間 from 表名 order by id,電話號碼;

C. SQL語句的排序問題

似乎是沒有直接的方法,但你可以採用變通的方法。

先將包含指定字元的記錄選出,然後再選出剩餘的記錄。分別排序,再聯合就可以實現。如下:

select a,b from XX where a like '%nn%' order by b
union all
select a,b from XX where a not like '%nn%' order by b

D. SQL排序語句遇到的奇怪問題

問題1:沒有ORDER BY,系統會根據存貯的次序來排序,就不一定是你的預期了。
問題2:大概是你沒有ORDER BY的結果
問題3:起作用的。

E. sql中排序要怎麼寫

1.語法:

SELECT "欄位名"
FROM "表格名"
[WHERE "條件"]
ORDER BY "欄位名" [ASC, DESC];

2.注意事項:先分組再排序,運用的是ORDER BY,後面加的是你要按什麼排序,如果按照升序可以不用寫或者加上ASC;如果是降序,要加上DESC。

3.例子:SELECT id FROM user ORDER BY id;

F. SQL查詢語句排序問題,請高手指點


select*from(
selectyebk.fzdm4,left(yebk.fzdm5,1),fzxzl.fzmc,fzxzl.fzdm,sum(yebk.yj1)+sum(yebk.yj2)+sum(yebk.yj3)+sum(yebk.yj4)+sum(yebk.yj5)+sum(yebk.yj6)+sum(yebk.yj7)+
sum(yebk.yj8)+sum(yebk.yj9)+sum(yebk.yj10)+sum(yebk.yj11)+sum(yebk.yj12)+sum(yebk.yj13)-sum(yebk.yd1)-sum(yebk.yd2)-sum(yebk.yd3)-sum(yebk.yd4)-sum(yebk.yd5)
-sum(yebk.yd6)-sum(yebk.yd7)-sum(yebk.yd8)-sum(yebk.yd9)-sum(yebk.yd10)-sum(yebk.yd11)-sum(yebk.yd12)-sum(yebk.yd13)
fromgl_fzxzlfzxzl,gl_yebkyebkwhere
yebk.gsdm='004'andyebk.kjnd='2014'andyebk.zth='004'
andyebk.gsdm=fzxzl.gsdmandyebk.kjnd=fzxzl.kjnd
andyebk.fzdm4=fzxzl.fzdm
andyebk.fzdm5like'3%'
groupbyyebk.fzdm4,fzxzl.fzmc,fzxzl.fzdm,left(yebk.fzdm5,1)
)astorderbyfzdm4asc

G. SQL查詢並排序問題

select * from 表 where 欄位 in (x1,x2,x3,x4.....) order by 欄位 ASC/DESC
此中排序欄位是索引條件中欄位,ASC為升序,DESC為降序,此中的排列會以X1,X2,X3排序,但X1可能有很多數據,如果在X1內部排序,請加上第二排序。
select * from 表 where 欄位 in (x1,x2,x3,x4.....) order by 欄位 ASC/DESC,欄位2 ASC/DESC
此表達式是在X1,X2等排序的基礎上再按欄位2進行排序!
我就不明白,如何是多數據,X1,X2等又包含多個條記錄,你就不想用Group呢?
你想看一下group by 的使用方法,對時可以對分組條件進行限定,關鍵詞是having,使用方法類where,但與where是有區別的!

H. SQL語句排序的問題

你的寫法是錯誤的,按照你的寫法在對n進行降序排序時,第一個m升序排序結果會失效,等於最終只讀n做了降序排序,而且你的語句本身也比較冗餘。

正確的寫法是:

SELECT * FROM a ORDER BY m ASC ,n DESC;

我們可以通過一些實例來具體分析order by 子句的用法:

假設有Orders 表:

注意:在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。

I. sql語句查詢排序問題

createtablea
(idint,namevarchar(20))
go
createtableb
(bidint,nrvarchar(20))
go
insertintoaselect1,'哈哈'Unionall
select2,'呵呵'Unionall
select3,'喵'
insertintobselect2,'q'Unionall
select2,'w'Unionall
select2,'e'Unionall
select1,'r'Unionall
select1,'u'

selectid,name,isnull((selectCOUNT(1)frombwherebid=a.id),0)fromaorderby3desc

J. sql語句降序排列

你好,很高興回答你的問題。
sql通過order by來控制排序。
比如select * from 表名 order by ID asc表示按照id列升序,order by ID desc 則表示按照id降序。
如果不指明是asc還是desc則是默認為asc升序。
如果有幫助到你,請點擊採納。