2013-12-09 52 views
0
SELECT * FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY ProductID) AS rn, p.* 
    FROM(
    SELECT * FROM products 
) p) p2 
WHERE rn BETWEEN 0 AND 10 
ORDER BY rn 

我不希望上述查询返回列列。有没有办法从最终结果中排除row_number列?

+4

当然。将SELECT * FROM替换为实际的列 –

+0

不知道它们。 –

+0

你不能在你的数据库中查找'产品'表的列吗? '选择*从产品'返回。 –

回答

-1

从您的示例查询中,您可以选择ProductID排序的前10条记录。如果为真,那么同样的结果可以通过以下方式实现:

select * from 
(select * from products order by ProductID) 
where rownum <= 10 

如果不是你期望那么请更正您查询的结果(也许添加“PARTITION BY”)。

+0

这不会产生与OP的查询相同的结果 – nachonachoman

相关问题