用
查询后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
即该记录在“日期”方面应该是独一无二的。只有&最大限度地获得' VALUE'从上面的数据。
答案 0 :(得分:0)
您似乎想要与postgres'DISTINCT ON
类似的功能。
每my previous answer,您可以使用:
select distinct id,
first_value(datetime) over (partition by id order by value desc)
from mytable
这假设您不想要order by id asc
,因为对于相同的ID(例如A
),订单将不会被指定;在给定的示例中,结果因此按value desc
排序。
答案 1 :(得分:0)
您是否尝试过使用DELETE FROM txn_log
WHERE txn_log_pgm_id IN (SELECT txn_log_pgm_id
FROM txn_log
ORDER BY txn_log_timestamp asc
LIMIT 500)
我不确定该语法是否适用于OracleDB ...
SELECT - 我的查询中的参数应返回所需的列。
至于TIME与DATE& TIME:如果您仔细查看您的行是不同的,如果您按日期和时间选择所需的结果,则表示您想要DATE的DISTINCT条目......