使用混合数据类型的mysql自定义顺序

bik*_*y77 5 mysql sql-order-by

在下面的mysql查询中,我使用自定义的order by语句,因此我可以按特定顺序而不是按字母顺序显示各种大小:

select distinct size 
from product p left join productsizes ps 
             on p.productcode = ps.size_prodcode 
order by field(size, 'XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL')
Run Code Online (Sandbox Code Playgroud)

如果某些产品也有数字尺寸,我该如何编写订单,以便将数字尺寸与自定义订单一起按升序排列?

所需输出的示例:

30,32,34,S,M,L

要么

S,M,L,30,32,34

egg*_*yal 4

FIELD()0当未找到搜索字符串时返回。所以:

ORDER BY FIELD(size, 'XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'), size
Run Code Online (Sandbox Code Playgroud)