我有一个出售物品的列表,这些物品是按尺寸命名的,尺寸可以是一个范围.它们的名称通常看起来像8
,10-14
,10
,但也可以有非数字字符97.5in
或只是ABC
.我试图找到一种简单而有效的方法,在与包含维度的定义表连接时,按这些维度对项目进行排序和显示:
SELECT *
FROM inventory i
JOIN item_definition def ON i.def_id = def.id
ORDER BY def.dimension ASC
并得到按维度排序的结果,顺序为8, 10, 10-14, 12, 14-20, 93.5in, ABC
而不是10, 10-14, 12, 14-20, 8, 93.5, ABC
.
排序中的ABC
的顺序并不重要,只要它不会导致错误.我最感兴趣的是如何对8, 10, 10-14, 12, 14-20
进行排序.