我有一个带有一个varchar列的sql表。它包含的一些数据如下:
sadkjlsakjd
Physics Test 2
Test
Test 1
P Test C
Physics Test None
dstestsad
现在,当我使用“Test”关键字进行搜索时,我需要一个首先提供最相关记录的查询。我期待着:
Test
Test 1
<Then other records where Test comes in between>
我有一些如何用Temp表和交集来实现这个查询,但对我写的内容完全不满意。我觉得应该有一些容易和快速的东西。
请建议。
由于
答案 0 :(得分:0)
可能是这样的
SELECT * FROM Your_Table WHERE Your_Column LIKE '%Test%'
ORDER BY CASE WHEN Your_Column LIKE 'Test%' THEN 0 ELSE 1 END,Your_Column
答案 1 :(得分:0)
试试这个:
SELECT colName
FROM tableName
WHERE colName LIKE '%Test%'
ORDER BY CASE WHEN colName LIKE 'Test%' THEN 1 ELSE 2 END, colName