需求说明
需要在某个表筛选出:按照某个字段分组、分组后的每一个分组的第一行数据
SQL实现
例如一张student学生表,按照学生所在的班级,筛选出每个班的一个学生
select * -- column names as required! from ( select id, name, class_no , row_number() over ( partition by class_no order by DBMS_RANDOM.RANDOM ) rn_ from t_student ) where rn_ = 1 -- 这里order by 是随机选出了一个每个班的一个学生,也可以根据实际需求,按照某个字段排序,筛选出按规则的第一个数据
文章评论