LIKE 查询按列最佳匹配
LIKE query by best match by column
我有一个名为 customers 和 运行 的 table 查询,如下所示
SELECT * FROM customers WHERE email LIKE '%ab%' OR first_name LIKE '%ab%';
结果如下
------+-------+-------+------- +
| email | first_name |
+-----+-------+-------+------- +
| abc@gmail.com | xyz |
| xyz@gmail.com | abc |
+-----+-------+-------+--------+
我需要的是,first_name是搜索关键词的最佳匹配。所以我首先需要那一行。
您可能希望通过以下方式添加订单:
SELECT *
FROM customers
WHERE email LIKE '%ab%' OR first_name LIKE '%ab%'
ORDER BY CASE WHEN first_name LIKE '%ab%' THEN 1 ELSE 2 END;
我有一个名为 customers 和 运行 的 table 查询,如下所示
SELECT * FROM customers WHERE email LIKE '%ab%' OR first_name LIKE '%ab%';
结果如下
------+-------+-------+------- +
| email | first_name |
+-----+-------+-------+------- +
| abc@gmail.com | xyz |
| xyz@gmail.com | abc |
+-----+-------+-------+--------+
我需要的是,first_name是搜索关键词的最佳匹配。所以我首先需要那一行。
您可能希望通过以下方式添加订单:
SELECT *
FROM customers
WHERE email LIKE '%ab%' OR first_name LIKE '%ab%'
ORDER BY CASE WHEN first_name LIKE '%ab%' THEN 1 ELSE 2 END;