mysql喜欢字母的查询和排序位置
mysql like query and sortby position of the letter
我的查询类似于下面给出的 link 中的问题。
问题是,查询 returns 所有行而不管搜索词。不仅我得到以 D 开头的 pname,而且即使是所有没有 D 的 pname,唯一的成功是结果的行首字母为 'D' 位于结果的顶部。我怎样才能避免这种情况?
如果您想列出搜索字段以 D 开头的所有行,您只需添加
..
WHERE my_field LIKE 'D%'
你试过这样的事情吗(根据你提到的post):
SELECT
pname, pdescription, price
FROM
products
WHERE pname LIKE '%D%'
ORDER BY
CASE
WHEN pname LIKE 'D%' THEN 1
ELSE 2
END;
注意WHERE子句
我的查询类似于下面给出的 link 中的问题。
问题是,查询 returns 所有行而不管搜索词。不仅我得到以 D 开头的 pname,而且即使是所有没有 D 的 pname,唯一的成功是结果的行首字母为 'D' 位于结果的顶部。我怎样才能避免这种情况?
如果您想列出搜索字段以 D 开头的所有行,您只需添加
..
WHERE my_field LIKE 'D%'
你试过这样的事情吗(根据你提到的post):
SELECT
pname, pdescription, price
FROM
products
WHERE pname LIKE '%D%'
ORDER BY
CASE
WHEN pname LIKE 'D%' THEN 1
ELSE 2
END;
注意WHERE子句