国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL 按指定字段自定義列表排序的實現(xiàn)

2024-07-24 13:12:47
字體:
供稿:網(wǎng)友

問題描述

大家都知道, 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 的順序排列, 該如何實現(xiàn)。 這也是很多國內(nèi)外同行經(jīng)常遇到的問題之一。

下面我們給出按表中某字段, 以我們想要的列表方式排序的解決方案。

解決方案

用"按字段排序" (ORDER BY FIELD).

語法

ORDER BY FIELD(`id`, 5, 3, 7, 1)

要注意的是,F(xiàn)IELD 后面是沒有空格的。

因此, 完整的 SQL 為:

SELECT * FROM `MyTable`
WHERE `id` IN (1, 7, 3, 5)
ORDER BY FIELD(`id`, 5, 3, 7, 1)

常見應(yīng)用

SELECT * FROM `MyTable`
WHERE `name` IN ('張三', '李四', '王五', '孫六')
ORDER BY FIELD(`name`, '李四', '孫六', '張三', '王五')

以上這篇MySQL 按指定字段自定義列表排序的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武邑县| 枣强县| 丽江市| 乐平市| 巴马| 青岛市| 乐至县| 定兴县| 邹平县| 三门县| 普安县| 天峻县| 兖州市| 泽州县| 井冈山市| 舞阳县| 天长市| 石首市| 通山县| 武乡县| 祥云县| 杭州市| 开远市| 太白县| 东乌珠穆沁旗| 西平县| 孟津县| 龙陵县| 星座| 历史| 泸西县| 邵阳市| 孟州市| 天门市| 白城市| 元氏县| 铁岭县| 上虞市| 上虞市| 上杭县| 崇明县|