日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 按指定字段自定义列表排序

發布時間:2023/12/13 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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`, '李四', '孫六', '張三', '王五')

轉載于:https://www.cnblogs.com/shihao/archive/2011/09/01/2162116.html

總結

以上是生活随笔為你收集整理的MySQL 按指定字段自定义列表排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。