Oracle Aggregatfunktion, um einen zufälligen Wert für eine Gruppe zurückzugeben?
Die Standard-SQL-Aggregatfunktionmax()
gibt den höchsten Wert in einer Gruppe zurück;min()
gibt das niedrigste zurück.
Gibt es in Oracle eine Aggregatfunktion, um einen zufälligen Wert aus einer Gruppe zurückzugeben? Oder eine Technik, um dies zu erreichen?
ZB gegeben die Tabellefoo
:
group_id value
1 1
1 5
1 9
2 2
2 4
2 8
Die SQL-Abfrage
select group_id, max(value), min(value), some_aggregate_random_func(value)
from foo
group by group_id;
might produzieren:
group_id max(value), min(value), some_aggregate_random_func(value)
1 9 1 1
2 8 2 4
mit offensichtlich, die letzte Spalte ist ein zufälliger Wertin dieser Gruppe.