在mysql中,如何通过指定的值列表和最后列表中未找到的剩余值来获取数据顺序?

在mysql中,如何通过指定的值列表和最后列表中未找到的剩余值来获取数据顺序?,mysql,Mysql,我尝试了以下代码使用值对记录进行排序,但问题是从值列表中为未找到的值生成 select * from `products` where `sku` != '' and `sku` != '0' order by FIELD(id, 193566,193562,223672,242812,202699,1191,321881,321507,201040,362393,562,328690,326,253653,202698,321501,58910,1190,305767,160435,1192,

我尝试了以下代码使用值对记录进行排序,但问题是从值列表中为未找到的值生成

select * from `products` where `sku` != '' and `sku` != '0' order by FIELD(id, 193566,193562,223672,242812,202699,1191,321881,321507,201040,362393,562,328690,326,253653,202698,321501,58910,1190,305767,160435,1192,321505)
如何使用orderbyfield()或MySql中的任何其他方式,按照上述ID列表和其他值进行排序


任何帮助都将不胜感激。

您可以做一些类似于

select p.*, FIELD(id, 193566,193562,223672,242812,202699,1191,321881,321507,201040,362393,562,328690....) as ord
    from `products` p
    where `sku` != '' and `sku` != '0' 
    order by if(ord=0,10000000,ord)
(我已将列表缩写,因此您需要完成它)。如果10000000的值是一个伪值,那么您可以执行类似于
10000000+id
的操作来为剩余的项目提供某种顺序