小编tra*_*ter的帖子

mysql查询顺序与多个LIKE子句完全匹配

好的,我已经使用了一段时间了,我有点卡住了。

也许我正在做错所有事情!

基本上我有一个搜索字段的查询。一般的想法是根据LIKE %%选择结果,同时仍然将精确匹配放在第一位。

因此,例如,如果您搜索47,则我希望显示ID,姓氏或company_name中带有47的所有内容,但是ID号为47的结果应位于顶部,如果键入姓氏,则结果应相同。

请在下面查看我的代码,这可能有助于澄清我的问题。

SELECT id, 
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name, 
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter, 
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer 
FROM clients 
WHERE id LIKE '$search' OR surname LIKE '$search' OR company_name LIKE '$search'
union all
SELECT id, 
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name,      
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter,     
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer 
FROM clients 
WHERE id LIKE '%$search%' AND id NOT LIKE …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-like

2
推荐指数
1
解决办法
1677
查看次数

标签 统计

mysql ×1

php ×1

sql-like ×1