oracle sql查询为每个deptid显示一行
伙计们,我想为以下记录的表A编写一个oracle sql查询oracle sql查询为每个deptid显示一行,sql,oracle,Sql,Oracle,伙计们,我想为以下记录的表A编写一个oracle sql查询 -------------------------- R_ID D_ID DEPT --------------------------- 1 200 CLERK 1 50 CLERK 2 190 MANAGER 2 134 DPTY MANAGER 3 12
--------------------------
R_ID D_ID DEPT
---------------------------
1 200 CLERK
1 50 CLERK
2 190 MANAGER
2 134 DPTY MANAGER
3 12 SERVICE MANAGER
结果应该如下所示,即所有R_ID中的第一行
--------------------------
R_ID D_ID DEPT
---------------------------
1 200 CLERK
2 190 MANAGER
3 12 SERVICE MANAGER
请帮帮我。正如Ronnis提到的,我不确定您是如何订购这些行的,但通常您会这样做。注意:只需在ORDER BY子句中替换正确的顺序即可
SELECT R_ID, D_ID, DEPT
FROM
(
SELECT R_ID, D_ID, DEPT, ROW_NUMBER() over(partition by R_ID order by D_ID) r
) WHERE R=1
SELECT DISTINCT R_ID
, first_value(D_ID) over (partition by R_ID order by D_ID) D_ID
, first_value(DEPT) over (partition by R_ID order by D_ID) DEPT
FROM your_table
ORDER BY R_ID;
希望这有帮助
SELECT min(r_id), min(d_id), dept
FROM the_table_with_no_name
GROUP BY dept;
选择最小值(r\U id)、最小值(d\U id)、部门
从没有名称的\u表\u
按部门分组;
行没有顺序。您希望按什么逻辑对行进行排序?