oracle查询:取出每组中的第一条记录
Oracle查询:取出每组中的第一条记录 方法一: select type,min(code) from group_info 注意:select 后面的列要在group by 子句中,或是用聚合函数包含,否则会有语法错误。 方法二: SELECT * FROM( 这里涉及到的over()是oracle的分析函数 参考sql reference文档: Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. Analytic functions are the last set of operations performed in a query except for the final 语法结构: analytic_function ([ arguments ]) OVER (analytic_clause) 其中analytic_clause结构包括: [ query_partition_clause ] [ order_by_clause [ windowing_clause ] ] 也就是:函数名( [ 参数 ] ) over( [ 分区子句 ] [ 排序子句 [ 滑动窗口子句 ] ]) 这里PARTITION BY 引导的分区子句类似于聚组函数中的group by,排序子句可看成是select语句中的order by. (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |