我有以下用于搜索功能的 mysql 查询。我的数据中有 3 种不同的帐户类型,需要按特定顺序显示。为此,我使用了ORDER BY FIELD(profiltype,2,1,3)
. 这很好用,没有问题,但是在这些结果中,我还需要按优先级对不同的列进行排序,例如:
1. name2
2. a_z_feld1
etc.
但是,这不适用于我下面的查询。它应该保持配置文件类型的顺序,但在此顺序内也具有列的优先级。
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