【Mysql】数据库如何查询按 list 集合顺序的记录

场景

  • 现在要在数据库中查询idlist 集合中记录,结果并按 list 集合中顺序进行排序。

解决方案: field()函数

  • field() 函数的返回值是value在值列表中的索引位置。此函数执行不区分大小写的搜索。
  • 如果在值列表中找不到value,此函数将返回 0。如果value为 NULL,此函数将返回 0。

语法

field(value, val1, val2, val3, ...)

参数值

  • value 必需。要在列表中搜索的值
  • val1, val2, val3, … 必需。要搜索的值列表

案例

select field("c", "c", "w"); // 返回 1
select field("c", "w", "c"); // 返回 2
select field("c", "w", "y"); // 返回 0
select field(null, "w", "y"); // 返回 0

SQL语句

select * from file_info where file_id in ('awfafasfa','bwfasfsfa') order by field(field_id, 'awfafasfa','bwfasfsfa');

你可能感兴趣的:(Mysql,数据库,mysql,list)