通过 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
Run Code Online (Sandbox Code Playgroud)
我需要提取 max(value), min(value) PER unique_id 并且我需要提取这些聚合的确切 search_date。
有任何想法吗?我可以提取每个hotel_id 的最大值和最小值,但我不能提取search_date 值。
在 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |