怎么對MySQL查詢結(jié)果進(jìn)行排序,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于劍閣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),購物商城網(wǎng)站建設(shè)。劍閣網(wǎng)站建設(shè)公司,為劍閣等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
MySQL查詢結(jié)果如何排序
之前有一個功能修改,要求MySQL查詢結(jié)果中:
idname***
1lucy...
3lucy...
2lily...
4lucy...
名字為lucy的優(yōu)先排在前面,百思不得其解,可能有人會說簡單union嘛或者弄個臨時表什么的,其實我也想過,但是本身SQL邏輯就很多了(上面只是簡例),再union的話或者臨時表可能繞很大的彎路,后來看到一篇文章嘗試著加入orderbyfind_in_set(name,'lucy'),結(jié)果得到的結(jié)果為lucy全部在下面,隨即我改為orderbyfind_in_set(name,'lucy')desc實現(xiàn)結(jié)果為
idname***
1lucy...
3lucy...
4lucy...
2lily...
基本實現(xiàn),可是又有點不確定的心情,查mysql文檔發(fā)現(xiàn)find_in_set語法
MySQL查詢結(jié)果如何排序
FIND_IN_SET(str,strlist)
如果字符串str在由N子鏈組成的字符串列數(shù)據(jù)表strlist中,則返回值的范圍在1到N之間。一個字符串列數(shù)據(jù)表就是一個由一些被『,』符號分開的自鏈組成的字符串。如果第一個參數(shù)是一個常數(shù)字符串,而第二個是typeSET列,則FIND_IN_SET()函數(shù)被優(yōu)化,使用比特計算。如果str不在strlist或strlist為空字符串,則返回值為0。如任意一個參數(shù)為NULL,則返回值為NULL。這個函數(shù)在第一個參數(shù)包含一個逗號(『,』)時將無法正常運(yùn)行
mysql>SELECTFIND_IN_SET('b','a,b,c,d');->2
看了這個我估計結(jié)果為什么要加desc了find_in_set返回的值是,當(dāng)存在lucy的時候返回他的位置,沒有的時候為0,空的時候null,所以排序為1,1,1,0,如果加在列上就為
idnameFIND_IN_SET**
1lucy1...
3lucy1...
2lily0...
4lucy1...
表結(jié)構(gòu)如下:
mysql>select*fromtest;+----+-------+|id|name|+----+-------+|1|test1||2|test2||3|test3||4|test4||5|test5|+----+-------+
執(zhí)行以下SQL:
mysql>select*fromtestwhereidin(3,1,5);+----+-------+|id|name|+----+-------+|1|test1||3|test3||5|test5|+----+-------+3rowsinset(0.00sec)
這個select在mysql中得結(jié)果會自動按照id升序排列,
但是我想執(zhí)行"select*fromtestwhereidin(3,1,5);"的結(jié)果按照in中得條件排序,即:3,1,5,想得到的結(jié)果如下:
idname
3test3
1test1
5test5
方法如下:
select*fromtestwhereidin(3,1,5)orderbyfind_in_set(id,'3,1,5');select*fromtestwhereidin(3,1,5)orderbysubstring_index('3,1,2',id,1);
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
分享文章:怎么對MySQL查詢結(jié)果進(jìn)行排序
新聞來源:http://chinadenli.net/article42/jggphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、響應(yīng)式網(wǎng)站、ChatGPT、服務(wù)器托管、微信小程序、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)