Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 从per_grades中选择一行,其中两行具有相同的等级_Oracle - Fatal编程技术网

Oracle 从per_grades中选择一行,其中两行具有相同的等级

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

我在表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'

如果要选择具有相同名称的任何行,则可以使用:

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表中,列名表示员工的等级,此列不是主键,我的问题是我有一个查询检索员工的经理,有两个经理具有相同的等级,我只需要选择其中一个,清楚吗?为了将来,你可以编辑你的问题来添加更多信息,而不是评论你自己的帖子。