我想查询一个表,以便它按以下方式排序:
1) “条目” 2) “条目#” 3) “条目某事” 4) “..条目..”
我通过 Union All 和 4 个不同的查询来做到这一点。
但另外,我想包括分页,以便我可以 f.ex。接收行号 1-100、101-200 等。我尝试了 Row_Num() Over (Order By) 但没有完成,我认为是因为 Order By-clause 破坏了我自己的订单。
我的查询看起来像这样(有点简化)
SELECT Keyword FROM Keyword WHERE Keyword LIKE 'Keyword' Union All SELECT * FROM Keyword WHERE Keyword like '%Keyword%' AND NOT LIKE 'Keyword'
以及我尝试的整个查询:
WITH SearchResult as
(SELECT * FROM Keyword WHERE Keyword like 'Keyword' Union All SELECT * FROM Keyword WHERE Keyword like '%Keyword%' AND NOT LIKE 'Keyword')
SELECT * FROM
(SELECT ROW_NUMBER() OVER (ORDER BY Keyword DESC) AS RowNum, *
FROM SearchResult) AS Results
WHERE (RowNum BETWEEN (1 - 1) * 100 + 1 AND 1 * 100)