我有两列第一个我想要十大产品(1-10)
那是
SELECT TOP 10 * FROM Product
Run Code Online (Sandbox Code Playgroud)
在第二列中,我想要接下来的10个结果(11-20)
我怎么做?
Mar*_*ith 28
WITH T AS
(
SELECT TOP 20 name,
row_number() OVER (ORDER BY id) AS RN
FROM Products
ORDER BY id
)
SELECT
MAX(CASE WHEN RN <=10 THEN name END) AS Col1,
MAX(CASE WHEN RN > 10 THEN name END) AS Col2
FROM T
GROUP BY RN % 10
Run Code Online (Sandbox Code Playgroud)
我会这样做:
SELECT [columns] FROM [table names] ORDER BY [column name] DESC LIMIT 10 OFFSET 10;
Run Code Online (Sandbox Code Playgroud)
这更简单,更简单....
你们有什么感想?
select top 10 wwwhid from wwwh where wwwhid not in(select top 10 wwwhid from wwwh)
Run Code Online (Sandbox Code Playgroud)
从 SQL Server 2012按偏移/获取功能排序开始:
SELECT *
FROM SomeTable
ORDER BY someIdField
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)