对不起,如果标题有点模棱两可,让人联想到其他半相关问题),这个问题其实很简单。按列排序MySQL行,但不按字母顺序排列
我有一个VARCHAR列可以有1个字符的值,如M,G,D and S
。如果按字母顺序对结果进行排序,则在此示例中,将按照以下顺序显示它们:D-G-M-S
。但是,我需要按以下顺序显示行:
G-D-M-S
有没有办法在查询内完成这项工作?我知道我可以在PHP中对结果进行自定义排序,但如果可能的话,我宁愿在查询内部进行排序。对于这个例子,我只需要在结果中切换“G”和“D”的顺序,对于这个简单问题的解决方案就可以满足任何答案。
你怎么知道什么样的顺序,他们应该在? – 2013-03-20 13:12:13
看来,如果数据库应该知道顺序,那么比向表中添加一个'order_index'列或类似的东西。如果数据库不应该知道订单,那么可以在PHP端执行,也许在配置文件中。我可能有错误的想法,因为我对你的情况了解不多,但这是我的倾向。 – 2013-03-20 13:13:46
@ExplosionPills这里的任务只是在结果中切换G和D的顺序。 – jovan 2013-03-20 13:17:25