【问题标题】:Mysql order priority in WHERE LIKEMysql顺序优先在WHERE LIKE
【发布时间】:2013-07-02 08:07:16
【问题描述】:

我是 MySQL 新手。请帮我找出我做错了什么。 使用这个Mysql: Order by like? 问题我尝试对我的行进行排序,但结果与没有排序相同。 这是一个查询示例:

SELECT * FROM sc_products
WHERE name_ru = 'water' 
OR name_ru like 'water%' 
OR name_ru like '% water%' 
OR name_ru like '\"water%' 
OR brief_description_ru like '%water%' 
OR product_code like '%water%'  
OR product_code in (select product_code from ALLPRODUCTS where searchfilter like '%water%') 
OR product_code in (select product_code from SC_products prd JOIN SC_product_manufacturers mnf ON prd.manufacturerID=mnf.manufacturerID where mnf.filters like '%water%')
ORDER BY CASE
    WHEN (name_ru = 'water' AND 
            name_ru like 'water%' AND 
            name_ru like '% water%' AND 
            name_ru like '\"water%' AND 
            brief_description_ru like '%water%' AND 
            product_code like '%water%') 
    THEN 1
    ELSE 2 
END

我没有找到其他地方回答我的问题。对不起。

【问题讨论】:

    标签: sql case sql-like


    【解决方案1】:

    你应该在 CASE 中使用 OR 而不是 AND

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      相关资源
      最近更新 更多