通过Oracle使用SQL
这是一个模拟我的数据格式的方法
Unique_id Search_Date Value
1 01-Jan-2015 3
1 02-Jan-2015 -5
1 03-Jan-2015 8
2 01-Jan-2015 17
2 02-Jan-2015 20
2 03-Jan-2015 -50
3 01-Jan-2015 4
3 02-Jan-2015 24
3 03-Jan-2015 -12
我需要拉出max(value),min(value)PER unique_id,我需要提取这些聚合的确切search_date。
有什么想法吗?我可以为每个hotel_id提取最大值和最小值,但我无法提取search_date值。
答案 0 :(得分:3)
在Oracle中,您可以通过聚合执行此操作:
select unique_id, max(value), min(value),
max(search_date) keep (dense_rank first order by value asc) as date_min,
max(search_date) keep (dense_rank first order by value desc) as date_max
from t
group by unique_id;