Oracle分析函数(每组数据取一条记录)
2016-12-15 10:46
204 查看
要求:车辆对应的每组计费模型中取最新的一条
思路:因为计费模型和车辆关联,每辆车可能存在多组计费模型(存在优惠政策),使用分析函数按照car_id分组按生效时间降序排列取值即可。
思路:因为计费模型和车辆关联,每辆车可能存在多组计费模型(存在优惠政策),使用分析函数按照car_id分组按生效时间降序排列取值即可。
SELECT VV_CM.CAR_ID, VV_CM.MODEL_ID,VV_CM.IS_VALID FROM (SELECT ROW_NUMBER() OVER(PARTITION BY V_CM.CAR_ID ORDER BY V_CM.EFFECT_DATE DESC) RN, V_CM.* FROM V_CAR_CHARGE_MODEL V_CM) VV_CM WHERE VV_CM.RN = 1;
相关文章推荐
- Oracle分析函数系列之first_value/last_value:在记录集中查找第一条记录和最后一条记录
- ORACLE学习之旅——分组取每组数据中最近的一条记录
- Oracle数据分组后取每组的一条记录
- oracle分析函数系列之first_value/last_value:在记录集中查找第一条记录和最后一条记录
- 数据库学习:oracle的递归写法,分析函数写法,以及teradata的取一定数量记录的写法
- 取每组数据的第一条记录和最后一条记录的SQL语句
- oracle 数据库单子段多条记录合并一条记录函数
- Oracle 利用lead、lag函数查询已有记录的下一条、上一条记录
- oracle分析函数之rank学习记录
- 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行
- oracle分析函数lag/lead不能计算日期型数据?
- oracle中插入一条记录后,重新登录查找不到数据
- oracle下数据的排序分组row_number() over()--分析函数,可用于去重
- 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行
- 数据库中多条记录有相同数据,可以用函数筛选只查询相同记录中的一条
- 在Oracle中如何使得分组的数据用逗号分隔形成一条记录
- oracle多表分组查询,每组拿出最新一条数据
- 使用Oracle 分析函数RANK()实现查询库存中每类物资最新N条记录
- Oracle 分析函数使用记录
- 利用Oracle分析函数实现多行数据合并为一行