第一步:確定輸出內容,你要的欄位為name,數據結果為b,d,a,c;第二步:找規律,b、d的online為1;a、c的位說明是按online降序;然後來看下b、d的online相同,viewnum為30和10,那麼就是viewnum降序;如果a、c的viewnum也是降序那麼規律就找到了,發現a為40、c為20,確實是降序,滿足條件.第三步:總結規律就是先按online降序排序,之後再按viewnum降序排序.第四步:得出需要的sql.selectnamefromtablenameorderbyonlinedesc,viewnumdesc;
- 文化問答
- 答案列表
sql多條件排序:sql中多條件排序問題[朗讀]
如果樓主是新手的話,建議還是百度一下mysql的基礎語句用法,orderby可以實現按照某個列來排序,加上逗號就可以多條件執行.先按照第一個排序,之後按照第二個進行排序。
orderby後可加2個欄位,用英文逗號隔開.f1用升序,f2降序,sql該這樣寫orderbyf1,f2desc也可以這樣寫,更清楚:orderbyf1asc,f2desc如果都用降序,必須用兩個descorderbyf1desc,f2desc。
用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這樣的數據來排序你測試一下是不是你要的結果。
orderby後可加2個欄位,用英文逗號隔開.1、f1用升序,f2降序,sql該這樣寫;orderbyf1,f2desc2、也可以這樣寫,更清楚;orderbyf1asc,f2desc3、如果都用降序,必須用兩個desc;