MySQL按自定义模式排序

时间:2014-02-06 21:41:26

标签: mysql sql sorting

我正在尝试从MySQL数据库表中选择信息,遵循自定义模式对结果进行排序。

我想要实现的目标

我的表中有一列可以有4个不同的值(条目类型)。

我们称之为AAA,BBB,CCC,DDD,模式应该是这样的:

AAA
AAA
BBB
AAA
CCC
DDD

所以我想要一个像这样排序的表:

Before    After
 AAA       AAA
 AAA       AAA
 AAA       BBB
 AAA       AAA
 AAA       CCC
 BBB       DDD
 BBB       AAA
 CCC       AAA
 DDD       BBB

我已经尝试了FIELD()函数,但它没有对它们进行排序。

我正在考虑使用另一个表进行排序,但我会有不同的查询,结果不同,我希望模式始终以相同的方式启动。

由于我不确定MySQL中是否存在此选项,因此我对任何建议和解决方法都持开放态度。

修改

好吧,我没有说这个就犯了一个大错误。该表有多列,ID作为AI主键。具有AAA,BBB,CCC,DDD的列是依赖于排序的列。

所以我想通过这个专栏来命令我的查询,但是按照上面描述的方式。

1 个答案:

答案 0 :(得分:0)

我认为,如果关系数据库表中的单个列可以具有相同值,那么通常是公平的如果不是一条记录,倾向就会成为其他列中的值,这些值会使记录具有不同的含义,或者在记录的排序中具有明显的位置。

当您可能需要包含至少一个其他信息项来提供订购时,您将专注于一个专栏。如果其他信息不在数据库中,则可能需要将其放入数据库中。