如何在Oracle 11g中选择前五行或“N”行

时间:2013-12-18 11:10:59

标签: sql oracle oracle11g syntax-error

select distinct ani_digit, ani_business_line from cta_tq_matrix_exp limit 5

我想从结果集中选择前五行。如果我使用上面的查询,得到语法错误。 谢谢提前

3 个答案:

答案 0 :(得分:21)

您必须先使用DISTINCT 选择“前5名”:

SELECT * FROM 
(SELECT DISTINCT ani_digit, ani_business_line FROM cta_tq_matrix_exp) A
WHERE rownum <= 5

答案 1 :(得分:1)

  select distinct ani_digit, ani_business_line from cta_tq_matrix_exp where rownum<=5;

答案 2 :(得分:0)

Oracle中没有

LIMIT 子句。

看到您的查询,您似乎只对一定数量的行感兴趣(未根据特定列值排序),因此您可以使用 ROWNUM 子句来限制返回的行数

select distinct ani_digit, ani_business_line from cta_tq_matrix_exp WHERE rownum <= 5

如果您想订购结果集然后限制行数,您可以根据Colin在上面的评论中提供的链接中的详细信息修改您的查询。