91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么對MySQL查詢結果進行排序

發布時間:2021-07-24 16:39:33 來源:億速云 閱讀:235 作者:Leah 欄目:數據庫

怎么對MySQL查詢結果進行排序,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

  MySQL查詢結果如何排序

  之前有一個功能修改,要求MySQL查詢結果中:

  idname***

  1lucy...

  3lucy...

  2lily...

  4lucy...

  名字為lucy的優先排在前面,百思不得其解,可能有人會說簡單union嘛或者弄個臨時表什么的,其實我也想過,但是本身SQL邏輯就很多了(上面只是簡例),再union的話或者臨時表可能繞很大的彎路,后來看到一篇文章嘗試著加入orderbyfind_in_set(name,'lucy'),結果得到的結果為lucy全部在下面,隨即我改為orderbyfind_in_set(name,'lucy')desc實現結果為

  idname***

  1lucy...

  3lucy...

  4lucy...

  2lily...

  基本實現,可是又有點不確定的心情,查mysql文檔發現find_in_set語法

  MySQL查詢結果如何排序

  FIND_IN_SET(str,strlist)

  如果字符串str在由N子鏈組成的字符串列數據表strlist中,則返回值的范圍在1到N之間。一個字符串列數據表就是一個由一些被『,』符號分開的自鏈組成的字符串。如果第一個參數是一個常數字符串,而第二個是typeSET列,則FIND_IN_SET()函數被優化,使用比特計算。如果str不在strlist或strlist為空字符串,則返回值為0。如任意一個參數為NULL,則返回值為NULL。這個函數在第一個參數包含一個逗號(『,』)時將無法正常運行

  mysql>SELECTFIND_IN_SET('b','a,b,c,d');->2

  看了這個我估計結果為什么要加desc了find_in_set返回的值是,當存在lucy的時候返回他的位置,沒有的時候為0,空的時候null,所以排序為1,1,1,0,如果加在列上就為

  idnameFIND_IN_SET**

  1lucy1...

  3lucy1...

  2lily0...

  4lucy1...

  表結構如下:

  mysql>select*fromtest;+----+-------+|id|name|+----+-------+|1|test1||2|test2||3|test3||4|test4||5|test5|+----+-------+

  執行以下SQL:

  mysql>select*fromtestwhereidin(3,1,5);+----+-------+|id|name|+----+-------+|1|test1||3|test3||5|test5|+----+-------+3rowsinset(0.00sec)

  這個select在mysql中得結果會自動按照id升序排列,

  但是我想執行"select*fromtestwhereidin(3,1,5);"的結果按照in中得條件排序,即:3,1,5,想得到的結果如下:

  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);

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭山县| 久治县| 德清县| 抚顺市| 达孜县| 文登市| 彰武县| 玛多县| 会理县| 新巴尔虎右旗| 阳谷县| 新安县| 伊金霍洛旗| 昌吉市| 宁海县| 塔城市| 新密市| 九龙坡区| 闽清县| 宝鸡市| 林芝县| 青海省| 大城县| 榆树市| 嘉兴市| 苍南县| 博野县| 汤原县| 扎鲁特旗| 西丰县| 宝坻区| 德令哈市| 西乡县| 建阳市| 宁海县| 昌黎县| 益阳市| 通辽市| 湖南省| 延吉市| 城固县|