用case進行轉義就可以了selectt1.a,t2.b,t1.c,t2.cfromt1innerjoint2ont1.c=t2.cwheret1.ain('11','55','33','88')orderbycaset1.awhen'11'then1when'55'then2when'33'then3when'88'then4end意思是將t1.a的值根據條件轉為1,2,3,4這樣的數據來排序你測試一下是不是你要的結果。
- 文化問答
- 答案列表
sql 多條件排序:sql雙條件排序[朗讀]
select後跟orderby第一排序條件,第二排序條件desc就樓主提的例子,select..(查詢條件根據樓主的需求)fromorderby信息被頂次數,信息被瀏覽的次數desc。
看你狀態用的什麼數據類型了.要是用的字符型,那升序降序都是按照字母序.升序就asc降序就descorderby狀態desc截止時間asc?
selecttable2.*fromtable2innerjointable1ontable2.table1_id=table1.idorderbytable1.paixu就像你寫的這樣,直接加過濾條件就可以但是要在欄位前加表名前綴以區分兩個表的id欄位selecttable2.*fromtable2innerjointable1ontable2.table1_id=table1.idorderbytable1.paixuwheretable2.id>3andtable2.id評論000。
orderby後邊的欄位並不是唯一的,支持多個,按照你排序的先後順序寫就可以了.另外按照每個欄位的升序和降序同樣支持.默認是升序的.如下orderbycolumn1(ascordesc),column2(ascordesc),column3(ascordesc),column4(ascordesc)這樣可以麼。