关于sql:如何在Oracle 11g中选择前五行或’N’行

How to select top five or 'N' rows in Oracle 11g

本问题已经有最佳答案,请猛点这里访问。
1
SELECT DISTINCT ani_digit, ani_business_line FROM cta_tq_matrix_exp LIMIT 5

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


在选择"前5名"之前,您需要使用DISTINCT

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


1
  SELECT DISTINCT ani_digit, ani_business_line FROM cta_tq_matrix_exp WHERE rownum<=5;


LIMIT子句在Oracle中不可用。

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

1
SELECT DISTINCT ani_digit, ani_business_line FROM cta_tq_matrix_exp WHERE rownum <= 5

如果要对结果集排序,然后限制行数,可以根据上面注释中科林提供的链接中的详细信息修改查询。