栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL按列表排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL按列表排序

由于

1 < 3 < 77 < 123
,一个简单
ORDER BY id
就足够了。

但是,如果您要这样订购:

77, 3, 123, 1
,则可以使用function
FIELD()

SELECt id, nameFROM mytable WHERe id IN (77, 3, 123, 1) ORDER BY FIELD(id, 77, 3, 123, 1)

如果查询匹配的行多于您列出的行

FIELD

FIELD
返回
0
时,行不匹配任何您列表中的ID,比上市的IDS返回的数字越小,即一些。这意味着,如果查询匹配的行多于列出的行,则这些行将首先显示。例如:

SELECt id, nameFROM mytable WHERe id IN (77, 3, 123, 1, 400) ORDER BY FIELD(id, 77, 3, 123, 1)

在此示例中,具有ID的

400
行将首先显示。如果您希望这些行显示在最后,只需反转ID列表并添加
DESC

SELECt id, nameFROM mytable WHERe id IN (77, 3, 123, 1, 400) ORDER BY FIELD(id, 1, 123, 3, 77) DESC


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号