订购搜索查询mySQL的结果

时间:2013-02-08 18:07:03

标签: mysql

我对搜索功能有以下mysql查询。我在我的数据中有3种不同的帐户类型,我需要按特定顺序显示。为此,我使用了ORDER BY FIELD(profiltype,2,1,3)。这很有效,没有任何问题,但是在这些结果中,我还需要按优先顺序排列不同的列,如:

1. name2
2. a_z_feld1
etc.

然而,这不适用于我在下面的查询。它应保持Profile类型的顺序,但在此顺序中也具有列的优先级。

SELECT * FROM main_users 
WHERE ((name2 LIKE %s) 
OR (a_z_feld1 LIKE %s) 
OR (a_z_feld2 LIKE %s) 
OR (a_z_feld3 LIKE %s) 
OR (city LIKE %s) 
OR (content_stellenvor LIKE %s) 
OR (main_content LIKE %s)) 
AND levelmember <> 1 
ORDER BY FIELD(profiltype,2,1,3) ASC, 
a_z_feld1 ASC, a_z_feld2 ASC, a_z_feld3 ASC

1 个答案:

答案 0 :(得分:0)

根据您的评论,您需要在name

中添加order by
ORDER BY FIELD(profiltype,2,1,3) ASC, name2, a_z_feld1 ASC, a_z_feld2 ASC, a_z_feld3 ASC