我想运行一个查询,提取我所有的名字,其中有“ana”,但我想要这样的结果
不喜欢
表示以“an”开头的名称应首先出现,然后是“an”中包含“an”的任何内容
我的SQL查询是这样的,但这种情况并没有给我预期的结果。我检查了一些其他的东西,但不太确定如何使用,并没有给出所需的结果。
SELECT *
FROM TABLE_NAME
WHERE Name LIKE 'ana%'
AND Name LIKE '%ana%'
答案 0 :(得分:3)
您需要只选择一次记录然后订购它们并根据您的要求了解您需要使用ORDER BY CASE订购这样的产品
SELECT *
FROM TABLE_NAME
WHERE Name LIKE '%ana%'
ORDER BY CASE
WHEN Name LIKE 'an%' THEN 1
WHEN Name LIKE '%an%' THEN 2
ELSE 3
END