用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)这样可以么。