2014-02-06 139 views
0

我试图从MySQL数据库表中选择信息,按照自定义模式对结果进行排序。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中,我接受任何建议和解决方法。

编辑

OK,我的不是说这做了一个很大的错误。该表有多个列,ID为AI主键。具有AAA,BBB,CCC,DDD的列是依赖于排序的列。

所以我想按这个专栏排序我的查询,但是按照上面描述的方式。

+0

我不明白模式 – Strawberry

+0

我都没有..... – Leo

+0

好吧,我想问题是与我在一起。让我试着编辑这个问题,让它变得更好。 – Alex

回答

0

我觉得这是公平地说,通常,如果在关系数据库表中的一列可以有一个以上的记录相同值,就往往是在其他值为记录赋予不同含义的列或记录排序中的不同位置。

您将重点放在一列上,当您可能需要包含至少一个其他信息项以提供排序时。如果其他信息不在数据库中,则可能需要将其放入数据库中。

+0

我同意你的意见。这不是我唯一的专栏。请在上面的问题中检查我的编辑。 – Alex