【发布时间】:2010-02-23 13:47:45
【问题描述】:
我想查询一个表,以便它按以下方式排序:
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)
【问题讨论】:
-
你能发布你的整个查询吗?
标签: sql union row-number