SQL Query查找相关结果

时间:2014-07-10 04:32:00

标签: sql sql-server-2008 tsql select sql-order-by

我有一个带有一个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表和交集来实现这个查询,但对我写的内容完全不满意。我觉得应该有一些容易和快速的东西。

请建议。

由于

2 个答案:

答案 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