2013-12-09 103 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

相關問題