久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      MySQL少有人知的排序方式

      免費(fèi)學(xué)習(xí)推薦:mysql視頻教程

      ORDER BY 字段名 升序/降序,相信進(jìn)來(lái)的朋友都認(rèn)識(shí)這個(gè)排序語(yǔ)句,但遇到一些特殊的排序,單單使用字段名就無(wú)法滿(mǎn)足需求了,下面給大家介紹幾個(gè)我遇到過(guò)的排序方法:

      一、準(zhǔn)備工作

      為了更好演示與理解,先準(zhǔn)備一張學(xué)生表,加入編號(hào)、姓名、成績(jī)?nèi)齻€(gè)字段,插入幾條數(shù)據(jù),如圖:
      MySQL少有人知的排序方式

      二、條件排序

      需求一:成績(jī)從高到低進(jìn)行排序

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

      需求二:成績(jī)從高到低進(jìn)行排序,并且沒(méi)錄入成績(jī)的排在最前面

      客戶(hù)體驗(yàn)最重要,為了方便二次錄入成績(jī),提出這樣的需求純屬正常。要實(shí)現(xiàn)該排序,上面的語(yǔ)句是無(wú)法實(shí)現(xiàn)的,因此就需要用到條件排序,先判斷成績(jī)?yōu)榭召x個(gè)最大值,再進(jìn)行排序,如 ORDER BY IF(examScore IS NULL,101,examScore) DESC 也能輕松實(shí)現(xiàn)(如下右圖)。

      需求 需求一 需求二
      語(yǔ)句 ORDER BY examScore DESC ORDER BY IF(examScore IS NULL,101,examScore) DESC
      效果 MySQL少有人知的排序方式 MySQL少有人知的排序方式

      三、自定義排序

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

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

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

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

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

      語(yǔ)句 語(yǔ)句一 語(yǔ)句二
      效果 MySQL少有人知的排序方式 MySQL少有人知的排序方式

      后來(lái)發(fā)現(xiàn) FIND_IN_SET 函數(shù)也能實(shí)現(xiàn),而且使用100萬(wàn)條數(shù)據(jù)測(cè)試,F(xiàn)IND_IN_SET 性能更優(yōu)。

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

      四、漢字拼音首字母排序

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

      語(yǔ)句 ORDER BY studentName ASC ORDER BY CONVERT(studentName USING GBK) ASC
      效果 MySQL少有人知的排序方式 MySQL少有人知的排序方式

      五、猜你喜歡

      • MySQL遠(yuǎn)程連接報(bào)錯(cuò)1130解決方法
      • MySQL配置主從同步備份
      • 使用過(guò)濾器防止SQL注入

      相關(guān)免費(fèi)學(xué)習(xí)推薦:mysql數(shù)據(jù)庫(kù)(視頻)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)