MySQL需要根據(jù)特定順序排序的實現(xiàn)方法
0 寫在前面
在進(jìn)行業(yè)務(wù)需求的時候,不會根據(jù)排序去選擇數(shù)據(jù)。例如,在導(dǎo)出的時候數(shù)據(jù)排序是根據(jù)編輯時間去排序的,那么他的主鍵id會打亂。
假如: 要導(dǎo)出id為 3 ,1 , 2 ,6 , 5 的數(shù)據(jù)并且根據(jù)此順序?qū)С觥?/p>
1 問題引入
如果直接在MySQL中寫
SELECT 數(shù)據(jù) FROM 表名 WHERE 表名id IN (3, 1, 2, 6, 5)
會發(fā)生MYSQL默認(rèn)排序規(guī)則;

2 問題解決
使用mysql的FIELD()函數(shù)進(jìn)行自定義排序
使用id為例:
SELECT 數(shù)據(jù) FROM 表名 WHERE 表名.id IN (所有id) order by FIELD(id, 排序規(guī)則);

注意:排序規(guī)則需要一一對應(yīng),即使在 in()的數(shù)據(jù)不影響,只要在field()確認(rèn)規(guī)則即可

3 寫在末尾
因為從業(yè)務(wù)里傳過來的數(shù)據(jù)肯定是規(guī)則排序,所以建議用IN() 和 FIELD()里的排序 對應(yīng)起來是最保險的。
到此這篇關(guān)于MySQL需要根據(jù)特定順序排序的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)MySQL 特定順序排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL快速復(fù)制數(shù)據(jù)庫數(shù)據(jù)表的方法
有些時候,我們?yōu)榱丝焖俅罱ㄒ粋€測試環(huán)境,或者說是克隆一個網(wǎng)站,需要復(fù)制已經(jīng)存在的mysql數(shù)據(jù)庫。下面小編給大家介紹mysql快速復(fù)制數(shù)據(jù)庫數(shù)據(jù)表的方法,小伙伴們跟著小編一起學(xué)習(xí)吧2015-10-10
Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解
這篇文章主要介紹了Mac OS系統(tǒng)下mysql 5.7.20安裝教程圖文詳解,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下2017-11-11
MySQL binlog日志記錄格式寫入機(jī)制及相關(guān)參數(shù)講解
這篇文章主要為大家介紹了MySQL binlog日志記錄格式寫入機(jī)制及相關(guān)參數(shù)使用講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Linux手動部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Linux手動部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11

