Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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
Oracle11g oracle 11g中的聚合函数结果_Oracle11g_Oracle Sqldeveloper_Database Administration - Fatal编程技术网

Oracle11g oracle 11g中的聚合函数结果

Oracle11g oracle 11g中的聚合函数结果,oracle11g,oracle-sqldeveloper,database-administration,Oracle11g,Oracle Sqldeveloper,Database Administration,有谁能告诉我,对于相同的值,聚合函数max的结果是什么? 假设我有一个creation\u date列,其中包含varchar2形式的日期。如果我尝试maxcreation\u date,结果是什么,它将如何选择行。如果在where子句子查询中使用该列,行是否可预测 这是一个完整的问题 从my_表中创建id,其中create_date=从my表中选择maxcreate_date 不太确定你想要实现什么。 假设有一个表my_table,其中包含如下所示的数据。请注意,最后两行在日期列中具有相同的数

有谁能告诉我,对于相同的值,聚合函数max的结果是什么? 假设我有一个creation\u date列,其中包含varchar2形式的日期。如果我尝试maxcreation\u date,结果是什么,它将如何选择行。如果在where子句子查询中使用该列,行是否可预测

这是一个完整的问题


从my_表中创建id,其中create_date=从my表中选择maxcreate_date

不太确定你想要实现什么。 假设有一个表my_table,其中包含如下所示的数据。请注意,最后两行在日期列中具有相同的数据

SQL>从my_表中选择*

 CREATE_ID CREATE_DATE         CREATE_DATE_VARCHAR
---------- ------------------- --------------------
         1 1996-07-25 00:00:00 1996-07-25 00:00:00
         2 1997-07-26 00:00:00 1997-07-26 00:00:00
         3 2013-07-26 00:00:00 2013-07-26 00:00:00
         4 2013-07-26 00:00:00 2013-07-26 00:00:00
如果从my_表中执行select*,其中create_date_varchar=从my_表中选择maxcreate_date_varchar;,然后你会得到2条id为3和4的记录

 CREATE_ID CREATE_DATE         CREATE_DATE_VARCHAR
---------- ------------------- --------------------
         3 2013-07-26 00:00:00 2013-07-26 00:00:00
         4 2013-07-26 00:00:00 2013-07-26 00:00:00
如果只希望拾取一个,则可以使用ROWNUM=1从my_表中选择*,其中create_date_varchar=从my_表中选择maxcreate_date_varchar,ROWNUM=1; 然后您将得到3或4中的1条记录,这可以通过使用order子句来控制

检查:

提及 要了解有关排序工作原理的更多信息,请参阅

您希望实现什么目标?如果您想获得最新的日期,那么MAXcreate_date将不会提供您想要的。您需要首先将varchar2转换为date。好的。您给我一个提示。我只想知道oracle聚合函数如何选择任何一行,如果每个值都相同,它将返回其中一个值,它将始终返回一个值,但是无法预测它将返回其中哪一个值。示例:从tbl中选择MAXcol,其中tbl.col的值为1、2、1、4,它将返回1。现在是第一排的1还是第三排的1?不知道。@user3004656,这与我在评论中给你的答案完全相同。然而,Kaushal付出了额外的努力为您构建了一个完整的示例。