婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL中一些鮮為人知的排序方式

MySQL中一些鮮為人知的排序方式

熱門標簽:怎樣在地圖標注銷售區域 電話外呼系統改號 外呼系統打電話上限是多少 曲靖移動外呼系統公司 南昌三維地圖標注 武漢網絡外呼系統服務商 地圖標注費用是多少 啥是企業400電話辦理 百應電話機器人優勢

前言

ORDER BY 字段名 升序/降序,相信進來的朋友都認識這個排序語句,但遇到一些特殊的排序,單單使用字段名就無法滿足需求了,下面給大家介紹幾個我遇到過的排序方法:

一、準備工作

為了更好演示與理解,先準備一張學生表,加入編號、姓名、成績三個字段,插入幾條數據,如圖:

二、條件排序

需求一:成績從高到低進行排序

街邊賣菜的阿姨都能敲,直接使用 ORDER BY examScore DESC 輕松完成了(如下左圖)。

需求二:成績從高到低進行排序,并且沒錄入成績的排在最前面

客戶體驗最重要,為了方便二次錄入成績,提出這樣的需求純屬正常。要實現該排序,上面的語句是無法實現的,因此就需要用到條件排序,先判斷成績為空賦個最大值,再進行排序,如 ORDER BY IF(examScore IS NULL,101,examScore) DESC 也能輕松實現(如下右圖)。

需求 需求一 需求二
語句 ORDER BY examScore DESC ORDER BY IF(examScore IS NULL,101,examScore) DESC
效果

三、自定義排序

客戶如上帝,需求花里胡哨也屢見不鮮,就比如,要求張三李四排在最前面,其他學生按照成績從高到低進行排序。這種情況就需要使用自定義排序了,MySQL 自帶的 FIELD 函數(返回對應字符串的索引)可幫您實現。

語句一:
ORDER BY FIELD(studentName,‘張三',‘李四') ASC, examScore DESC;

上面語句運行結果卻把張三李四排到最后了(如下左圖),順理成章的,要把張三李四編排到最前面就進行降序排序。

語句二:
ORDER BY FIELD(studentName,‘李四',‘張三') DESC, examScore DESC;

結果果然正中下懷(如下右圖)。

語句 語句一 語句二
效果

后來發現 FIND_IN_SET 函數也能實現,而且使用100萬條數據測試,FIND_IN_SET 性能更優。

ORDER BY FIND_IN_SET(studentName,‘李四,張三') DESC, examScore DESC;

四、漢字拼音首字母排序

有些朋友就奇怪了,漢字排序直接使用普通的 ORDER BY 字段 ASC 輕松完事啦,為什么說鮮為人知呢。
其實,用戶創建表字段使用 GBK 字符集時,直接使用ORDER BY 字段 ASC 可以迎刃而解,有些用戶為了防止亂碼,使用了 utf8 字符集,簡單的排序語句就無能為力了(如下左圖),因此在排序時把字段轉換為 GBK 就OK了(如下右圖)。

語句 ORDER BY studentName ASC ORDER BY CONVERT(studentName USING GBK) ASC
效果

總結

到此這篇關于MySQL中一些鮮為人知的排序方式的文章就介紹到這了,更多相關MySQL排序方式內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別總結
  • 讓MySQL支持中文排序的實現方法
  • mysql如何根據漢字首字母排序
  • Mysql row number()排序函數的用法和注意
  • Mysql select in 按id排序實現方法
  • 兩種mysql對自增id重新從1排序的方法
  • 數據庫查詢排序使用隨機排序結果示例(Oracle/MySQL/MS SQL Server)
  • MySQL中按照多字段排序及問題解決
  • MySQL查詢優化:連接查詢排序limit(join、order by、limit語句)介紹
  • Mysql利用group by分組排序

標簽:甘南 吉林 資陽 滄州 黑河 錦州 荊州 隨州

巨人網絡通訊聲明:本文標題《MySQL中一些鮮為人知的排序方式》,本文關鍵詞  MySQL,中,一些,鮮為人知,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL中一些鮮為人知的排序方式》相關的同類信息!
  • 本頁收集關于MySQL中一些鮮為人知的排序方式的相關信息資訊供網民參考!
  • 推薦文章

    上一篇:MySQL在線DDL工具 gh-ost的原理解析

    下一篇:Mysql性能優化之索引下推

    主站蜘蛛池模板: 武义县| 迁安市| 海门市| 鄱阳县| 舞钢市| 弋阳县| 阳原县| 玛纳斯县| 宝兴县| 蛟河市| 合江县| 三门峡市| 汉阴县| 新津县| 开原市| 无极县| 祥云县| 凤山县| 漳平市| 浦江县| 青神县| 灌云县| 阳新县| 金堂县| 兴宁市| 师宗县| 江西省| 长岭县| 长泰县| 古田县| 建昌县| 隆化县| 沅江市| 栖霞市| 新巴尔虎右旗| 罗源县| 宁晋县| 库尔勒市| 岱山县| 翁源县| 佛冈县|