Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Sql 在oracle DB中返回多个列的一列上选择distinct_Sql_Oracle - Fatal编程技术网

Sql 在oracle DB中返回多个列的一列上选择distinct

Sql 在oracle DB中返回多个列的一列上选择distinct,sql,oracle,Sql,Oracle,询问 partition by Id order by Id asc on my table Tbl 我得到的结果是: Id DATE&TIME DATE VALUE A 03-05-2015,03:05:36 03-05-2015 2 B 19-05-2015,11:05:02 19-05-2015 2 A 15-05-2015,06:05:38 15-05-2015 2 A 15-

询问

partition by Id order by Id asc on my table Tbl
我得到的结果是:

Id      DATE&TIME               DATE       VALUE
A      03-05-2015,03:05:36  03-05-2015  2
B      19-05-2015,11:05:02  19-05-2015  2
A      15-05-2015,06:05:38  15-05-2015  2
A      15-05-2015,09:05:06  15-05-2015  8
A      15-05-2015,09:05:29  15-05-2015  10
A      15-05-2015,11:05:18  15-05-2015  10
c      05-05-2015,02:05:15  03-05-2015  20
d      12-05-2015,03:05:28  08-05-2015  2
d      12-05-2015,04:05:56  07-05-2015  10
e      04-05-2015,08:05:41  03-05-2015  2
f      06-05-2015,09:05:35  08-05-2015  20
但我需要输出如下:

Id    DATE&TIME             VALUE
A     03-05-2015,03:05:36   2
B     19-05-2015,11:05:02   2
A     15-05-2015,11:05:18   10
c     05-05-2015,02:05:15   20
d     12-05-2015,04:05:56   10
e     04-05-2015,08:05:41   2
f     06-05-2015,09:05:35   20 

i、 e该记录仅在“日期”方面应是唯一的,并从上述数据中获取“值”的最大值。

似乎您需要类似于postgres的功能

根据,您可以使用:

select distinct id, 
first_value(datetime) over (partition by id order by value desc)
from mytable

这是假设您不想
按id asc订购
,因为对于相同的id(例如
A
),订单将不确定;因此,在给定的示例中,结果按
值desc

排序。您是否尝试使用
从中选择不同的ID、时间、值(在我的表Tbl上按ID分区和按ID排序asc)

我不确定这种语法是否适用于OracleDB

查询中的SELECT参数应该返回所需的列


至于时间与日期和时间:如果你仔细观察,如果你选择按日期和时间,你的行是不同的,你想要的结果表明,您希望为日期输入不同的条目…

看起来您应该在
Id
上使用
group by
VALUE
max
DATE&TIME
上使用
group by
,请向我们展示您的完整声明。