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
Oracle SQL开发人员如何获得最高价值_Sql_Oracle - Fatal编程技术网

Oracle SQL开发人员如何获得最高价值

Oracle SQL开发人员如何获得最高价值,sql,oracle,Sql,Oracle,我将列从max repeats排序为min,但我只想得到最大值。重复次数最多的值 这是代码: SELECT foreign_key FROM all_person GROUP BY foreign_key ORDER BY COUNT(*) DESC; 这就是我得到的: foreign_key -------------- 10 9 2 4 8 3 7

我将列从max repeats排序为min,但我只想得到最大值。重复次数最多的值

这是代码:

 SELECT foreign_key
 FROM all_person
 GROUP BY foreign_key
 ORDER BY COUNT(*) DESC;
这就是我得到的:

foreign_key
--------------
        10 
         9 
         2 
         4 
         8 
         3 
         7 
         6 
         1 
         5
我只想得到值10(在本例中)。 我见过很多次人们使用极限,但如果我这样使用极限,我会发现错误:

ORDER BY COUNT(*) DESC LIMIT 1;
这是一个错误:

SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"

可以在where子句中使用ROWNUM:

SELECT foreign_key
FROM
(
 SELECT foreign_key
 FROM all_person
 GROUP BY foreign_key
 ORDER BY COUNT(*) DESC
)
WHERE ROWNUM = 1;

可以在where子句中使用ROWNUM:

SELECT foreign_key
FROM
(
 SELECT foreign_key
 FROM all_person
 GROUP BY foreign_key
 ORDER BY COUNT(*) DESC
)
WHERE ROWNUM = 1;

可以使用
ROWNUM
执行此操作:

SELECT foreign_key FROM (
   SELECT foreign_key
     FROM all_person
    GROUP BY foreign_key
    ORDER BY COUNT(*) DESC
) WHERE rownum = 1;

这是最快的方法,但可能不适用于更复杂的查询。

您可以使用
ROWNUM
执行此操作:

SELECT foreign_key FROM (
   SELECT foreign_key
     FROM all_person
    GROUP BY foreign_key
    ORDER BY COUNT(*) DESC
) WHERE rownum = 1;

这是最快的方法,但可能不适用于更复杂的查询。

已经描述了
rownum
方法,它一般都可以工作。在Oracle 12+中,您可以使用
仅获取前1行

SELECT foreign_key
FROM all_person
GROUP BY foreign_key
ORDER BY COUNT(*) DESC
FETCH FIRST 1 ROW ONLY;

您没有指定正在使用的Oracle版本。如果是最新的,那么这将起作用。这也是标准的,并且适用于其他一些数据库。

已经描述了
rownum
方法,它一般都适用。在Oracle 12+中,您可以使用
仅获取前1行

SELECT foreign_key
FROM all_person
GROUP BY foreign_key
ORDER BY COUNT(*) DESC
FETCH FIRST 1 ROW ONLY;

您没有指定正在使用的Oracle版本。如果是最新的,那么这将起作用。这也是标准的,适用于其他一些数据库。

LIMIT
是在MySQL中这样做,但在Oracle中不起作用的方法
LIMIT
是在MySQL中这样做,但在Oracle中不起作用的方法是否可以在Oracle中创建变量,以使某个变量中的数字为10@gmile是否可以在Oracle中创建变量,以使某个变量中的数字为10@gmile是否可以在Oracle中创建变量,以使某个变量中的数字为10@大卫·法伯特这是一个相当宽泛的问题,你能更具体一点吗?这取决于你在做什么。您可以创建一个包和过程/函数来返回该值。您还可以声明一个变量,并:从…中选择“将外键插入变量名”是否可以在Oracle中创建变量,以便在某个变量中保存数字10@大卫·法伯特这是一个相当宽泛的问题,你能更具体一点吗?这取决于你在做什么。您可以创建一个包和过程/函数来返回该值。您还可以声明一个变量,并:从…中选择“将外键插入变量名”是否可以在Oracle中创建变量,以便在某个变量中保存数字10@Gordon Linoff有没有可能在Oracle中创建变量,以便在某个变量中使用数字10@戈登·林诺夫