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名"之前,您需要使用
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 |
如果要对结果集排序,然后限制行数,可以根据上面注释中科林提供的链接中的详细信息修改查询。