Oracle 从per_grades中选择一行,其中两行具有相同的等级
我在表per_grades的grade name中有两行值相同,我想选择其中一行。 我试过马克斯,但一无所获。Oracle 从per_grades中选择一行,其中两行具有相同的等级,oracle,Oracle,我在表per_grades的grade name中有两行值相同,我想选择其中一行。 我试过马克斯,但一无所获。 有人能帮我吗?可以显示您的问题。像这样: with tbl as (SELECT 1 as id, 'same' as name from DUAL UNION ALL SELECT 2, 'same' from DUAL) SELECT max(id) FROM tbl WHERE tbl.name = 'same' 如果要选择具有相同名称的任何行,则可以使用: se
有人能帮我吗?可以显示您的问题。像这样:
with tbl as
(SELECT 1 as id, 'same' as name from DUAL
UNION ALL
SELECT 2, 'same' from DUAL)
SELECT max(id) FROM tbl
WHERE tbl.name = 'same'
如果要选择具有相同名称的任何行,则可以使用:
select id, name from per_grades where name='same' and rownum<2;
可以使用行数分析函数。对于同一级别的员工,这将只返回一个经理,您可以在where子句中对多个员工使用此查询
SELECT NAME, GRADE, ... FROM
(SELECT NAME, GRADE, ROW_NUMBER() OVER (PARTITION BY YOUR_EMPLOYEE ORDER BY GRADE) AS RN
...
FROM
...
WHERE
...)
Where rn=1
干杯 更多详细信息?在per_grades表中,列名表示员工的等级,此列不是主键,我的问题是我有一个查询检索员工的经理,有两个经理具有相同的等级,我只需要选择其中一个,清楚吗?为了将来,你可以编辑你的问题来添加更多信息,而不是评论你自己的帖子。