最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL字符型字段按數(shù)字型字段排序?qū)崿F(xiàn)方法

 更新時間:2013年03月25日 00:08:32   作者:  
由于是按字母順序排列,所以123排在了2的前面,顯然不符合我們的要求,那么怎樣才能按照我們預(yù)想的數(shù)字順序排序呢

這是很久之前的就遇到的問題了,去年寫了個WP插件:WordPress投票插件Ludou Simple Vote,由于有些使用者需要一個投票排行榜,所以需要用一條SQL來讀取按得分排序的文章列表。

     Ludou Simple Vote的投票得分結(jié)果是以自定義欄目的方式存儲在WordPress的postmeta中,分值存放在meta_value字段,而meta_value字段類型是longtext,如果直接使用下面的SQL查詢語句來排序:

復(fù)制代碼 代碼如下:
ORDER BY `meta_value`

     那么按得分排序得到的結(jié)果可能是:
1
10
11
123
1234
2
25
253
3

     由于是按字母順序排列,所以123排在了2的前面,顯然不符合我們的要求,那么怎樣才能按照我們預(yù)想的數(shù)字順序排序呢?下面介紹兩種方法。

一、采用MySQL的cast函數(shù),轉(zhuǎn)換字段格式

     這里我們將meta_value字段轉(zhuǎn)換成數(shù)值類型的字段DECIMAL,然后再進行排序:

復(fù)制代碼 代碼如下:
ORDER BY CAST(`meta_value` AS DECIMAL)

     需要注意的是,你所要排序的meta_value字段的值必須都是可轉(zhuǎn)換成數(shù)字,否則將會出錯。

二、使用MySQL絕對值函數(shù)ABS

     使用MySQL絕對值函數(shù)ABS,它告訴MySQL使用絕對值來處理處理這個字段:

復(fù)制代碼 代碼如下:
ORDER BY ABS(`meta_value`)

相關(guān)文章

  • 解析Mysql Profiling的使用

    解析Mysql Profiling的使用

    本篇文章是對Mysql Profiling的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 5.6.51 解壓版(zip版)安裝配置圖文方法

    MySQL 5.6.51 解壓版(zip版)安裝配置圖文方法

    這兩天剛試用了一下MySQL5.6.51,感覺還不錯,有兄弟戲稱是一個高富帥版本?,F(xiàn)將MySQL5.6.51 zip解壓版本的安裝配置過程記錄如下,希望能給需要安裝該版本的朋友一點參考作用
    2015-08-08
  • CentOS7下mysql 8.0.16 安裝配置方法圖文教程

    CentOS7下mysql 8.0.16 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了CentOS7下mysql 8.0.16 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 12個優(yōu)化MySQL的技巧小整理

    12個優(yōu)化MySQL的技巧小整理

    這篇文章主要介紹了12個優(yōu)化MySQL的技巧小整理,包括表連接和WHERE語句等基本的優(yōu)化點等內(nèi)容,已經(jīng)了解的也不妨加深一下印象,需要的朋友可以參考下
    2015-06-06
  • MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解

    MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解

    這篇文章主要介紹了MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解,InnoDB是MySQL中一種常用的事務(wù)性存儲引擎,它具有很多優(yōu)秀的特性,其中,Doublewrite Buffer是InnoDB的一個重要特性之一,本文將介紹Doublewrite Buffer的原理和應(yīng)用,需要的朋友可以參考下
    2023-07-07
  • MySQL 數(shù)據(jù)庫函數(shù)庫

    MySQL 數(shù)據(jù)庫函數(shù)庫

    MySQL 數(shù)據(jù)庫函數(shù)庫...
    2006-12-12
  • MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解決方法

    MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errc

    File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22) Character set ‘#33′ is not a compiled character set and is not specified in the ‘c:\mysql\share\charsets\Index’ file
    2013-08-08
  • Advanced SQL Injection with MySQL

    Advanced SQL Injection with MySQL

    Advanced SQL Injection with MySQL...
    2006-12-12
  • Linux下如何通過MySQL二進制包安裝MySQL5.7

    Linux下如何通過MySQL二進制包安裝MySQL5.7

    這篇文章主要介紹了Linux下如何通過MySQL二進制包安裝MySQL5.7,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • MySQL復(fù)制之GTID復(fù)制的具體使用

    MySQL復(fù)制之GTID復(fù)制的具體使用

    從MySQL 5.6.5開始新增了一種基于GTID的復(fù)制方式,本文主要介紹了MySQL復(fù)制之GTID復(fù)制的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論

阿克陶县| 沁水县| 临邑县| 广东省| 霍城县| 绥芬河市| 炉霍县| 石嘴山市| 罗甸县| 通海县| 琼结县| 潞西市| 禄劝| 长治市| 黄浦区| 景宁| 德格县| 弋阳县| 阿坝| 远安县| 广宗县| 波密县| 江都市| 措美县| 上虞市| 岗巴县| 仪征市| 新昌县| 罗山县| 苍溪县| 凤山市| 广西| 崇礼县| 仪征市| 延寿县| 泰州市| 靖江市| 新沂市| 大厂| 沙坪坝区| 昆山市|