我正依次面临问题,我正在使用类似的关键字从SQL DB获取记录,现在我希望所有记录均应根据输入的关键字顺序返回。
示例:如果用户输入“Physics”,则它首先返回Physics(精确词)(如果存在),然后返回所有其他记录。

SELECT *
FROM Subject SM
WHERE SM.SubjectName LIKE '%' + @SubjectName + '%'
ORDER BY @SubjectName DESC

我该如何实现?

最佳答案

SELECT  *
FROM    Subject SM
WHERE   SM.SubjectName LIKE '%' + @SubjectName + '%'
ORDER BY CASE WHEN SM.SubjectName = @SubjectName THEN 0
              ELSE 1
         END ASC ,
        SM.SubjectName DESC

09-07 05:25