如何按列优先级排序mysql结果?

pay*_*ing 7 mysql

如何按列优先级排序mysql结果?

例.我有一个产品表,该表包含两列,产品名称(p.name)和产品描述(p.desc).

用户应该能够输入关键字以在数据库中查找产品.

"p.name LIKE '%keyword%' OR p.desc LIKE '%keyword%'
Run Code Online (Sandbox Code Playgroud)

我希望首先返回匹配p.name的结果,然后返回p.desc秒.

我将如何实现这一目标?

Nik*_*bak 11

我会尝试类似的东西

ORDER BY (NOT (p.name LIKE '%keyword%'))
Run Code Online (Sandbox Code Playgroud)

如果您的第一个条件得到满足,则order by条款将评估为false.因此,这些记录将被推进.

编辑
等号(=)可能错误地进入了问题.

  • 这可行,但可能需要在较大的集合上进行优化. (2认同)