标准的SQL聚合函数max()
将返回一组中最高的值;min()
将返回最低的值。
Oracle中是否有一个聚合函数可以从一组中返回一个随机值?或者有什么技巧可以实现这一点吗?
例如,给定表foo
:
group_id value
1 1
1 5
1 9
2 2
2 4
2 8
这个 SQL 查询
select group_id, max(value), min(value), some_aggregate_random_func(value)
from foo
group by group_id;
可能会产生:
group_id max(value), min(value), some_aggregate_random_func(value)
1 9 1 1
2 8 2 4
显然,最后一列是该组中的任意随机值。