排序打印的照片尺寸


Sort printed photo dimensions

我有一个MySQL字段保存打印的照片大小作为文本,如:4x6、5x7、8x10、16x20、20x24等

我需要在使用PHP的下拉框中列出这些,但在维度顺序(如上所列)。如果我按排序,我会得到:16 × 20、20 × 24、4 × 6、5 × 7、8 × 10.

我猜我需要对"x"的位置做点什么。它总是在2号或3号位置但我不知道怎么排序。任何想法吗?

很丑,但是…

ORDER BY
   CAST(SUBSTR(yourfield, 0, LOCATE('x', yourfield)) AS int),
   CAST(SUBSTR(yourfield FROM (LOCATE('x', yourfield) + 1)) AS int)

没有经过测试,可能是错误的,但应该可以达到目的。如果这是经常做的事情,我建议将这两种大小存储在单独的INT字段中,并在显示时间需要时将它们连接/字符串化。