mysql 自定義排序規則
大家都知道, MySQL 中按某欄位升序排列的 SQL 為 (以 id 為例, 下同):
SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` ASC
降序排列的 SQL 為:
SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` DESC
有時以上排序並不能滿足我們的需求. 例如, 我們想要按 id 以 5, 3, 7, 1 的順序排列, 該如何實現. 這也是很多國內外同行經常遇到的問題之一.
下面我們給出按表中某欄位, 以我們想要的列表方式排序的解決方案.
解決方案
用"按欄位排序" (ORDER BY FIELD).
語法
ORDER BY FIELD(`id`, 5, 3, 7, 1)
要注意的是, FIELD 後面是沒有空格的.
因此, 完整的 SQL 為:
SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY FIELD(`id`, 5, 3, 7, 1)
常見應用
SELECT * FROM `MyTable` WHERE `name` IN ('張三', '李四', '王五', '孫六') ORDER BY FIELD(`name`, '李四', '孫六', '張三', '王五')
相關推薦
mysql 自定義排序規則
大家都知道, MySQL 中按某欄位升序排列的 SQL 為 (以 id 為例, 下同): SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` ASC 降序排列的 SQL 為: SEL
spark自定義排序規則
package cn.edu360.day5 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by zx on 2017/10/10. */ o
Spark-Core自定義排序規則
1.利用case特性,定義一個類,在類中進行排序 package day02 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object UserOrdered01 {
MYSQL自定義排序,欄位置頂等
在MYSQL資料庫查詢時,排序是經常用到的一個功能。單純按照某欄位排序查詢較為簡單,無非就是order by `field` (DESC/ASC)。如: 1 SELECT * FROM `table` 2 ORDER BY `field` DESC 注
Mysql自定義排序,order by問題
自定義 常用的order by已經可以解決大部分問題,但如下問題卻不好解決: 狀態status,0:申請,1:通過,-1拒絕 此時新申請的在前,通過在後,拒絕的最後 SELECT * FROM
MySQL自定義排序函式FIELD()
MySQL可以通過field()函式自定義排序,格式:field(value,str1,str2,str3,str4),value與str1、str2、str3、str4比較,返回1、2、3、4,如遇到null或者不在列表中的資料則返回0. 這個函式好像Oracle中沒有專
MySQL自定義排序去重
MySQL表中有多個使用者,每個使用者有他的成績,一個使用者可能有多個不同的成績, 查詢結果成績由高到低排列,有多個成績的使用者,只取他的最高分。 [sql] view plain copy print? select * fromus
map自定義排序規則
#include <iostream> #include <map> #include <string> using namespace std; struct c
MySQL自定義排序
png sel 結果集 sql 倒序 esc com 使用 技術 存在表A 按名字倒序排 SELECT * FROM A ORDER BY name DESC 結果如下: 若需要按照王五、張三、李四的順序排序,使用自定義排序:FIE
Collections自定義List排序規則,進行自定義排序
cti str targe collect dex pre div spa out //這裏的順序,是我自己定義的一個List<String> String[] regulation = {"諸葛亮","魯班","貂蟬","呂布"}; final List&l
mysql排序的中文首字母排序和自定義排序
二級 and gbk order by 首字母 order 排序 sql排序 code select * FROM organ_new where city_code = ‘SZ0755‘ and organ_type = ‘H‘ and state =
mysql數據庫對字段自定義排序的應用
cat mit lan 價格 pid life sans 函數 content 之前做項目 有個需求是 二手租房按照 房租價格 從低到高排序,面議的價格要在最後顯示出來。 因為數據庫中 面議 的價格(price)是(-1,0) 如果按照從低到高,面議的價格就會顯示在最
mysql 使用order by field() 自定義排序
一、mysql field自定義排序函式的格式 order by field(value,str1,str2,str3,str4,,,,,,strn) 其中value後面的引數自定義,不限制引數個數 含義 將獲取出來的資料根據str1,str2,str3,str4
mysql如何用order by 自定義排序
原表 user: id name roleId 1 aaa 1 2 bbb 2 3 ccc 3 4 ddd 4 5 eee 51,MySQL可以通過field()函式自定義排序,格式:fi
mysql自定義函數
host key 是否 ble sea 判斷語句 bin iter str 1、先查看函數功能是否開啟:show variables like ‘%func%‘; 若是未開啟則:SET GLOBAL log_bin_trust_function_creators=1; 關閉
Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別總結
數據 general ins 什麽 tab where 進制 用戶 table Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別總結 用了這麽長時間,發現自己竟然不知道utf_bin和utf_general_ci這兩者到底有什麽區別
Jquery Validate 默認校驗規則及常用的自定義驗證規則
字符 eth ber exp string amp 手機 zip 子郵件 Jquery Validate 相關參數及常用的自定義驗證規則 一、官網地址:http://bassistance.de/jquery-plugins/jquery-plugin-validatio
java中實現Comparable接口實現自定義排序
static -1 return rabl generated args logs ava sca 1 class Student implements Comparable{ 2 String name; 3 int gpa; 4 @Ov
Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別
排序 區別 速度 pan 例如 找不到 unicode alt lac utf8_unicode_ci和utf8_general_ci對中、英文來說沒有實質的差別。utf8_general_ci 校對速度快,但準確度稍差。
織夢按權重排序和自定義排序
load ima row idt last 教程 syn 模板文件 而已 【按權重排序】 dede:list 的方法 1、找到"根目錄\include\arc.listview.class.php"文件。 2、修改代碼:在文件第727行處添加按weight排序判斷代碼(紅色