=====Oracle 12c - SQL - Wie viele eindeutige Werte sind in einer Spalte einer Tabelle zu finden?=====
**Aufgabe**: Zähle alle eindeutigen Werte in einer Spalte einer Tabelle
====Exakts Auswertung====
**Alle DB Versionen**
Mit "count(distinct )" die eindeutigen Werte in einer Tabelle ermitteln.
Beipiel an einer kartesischen Abfrage um eine größere Datenmenge zu testen:
set timing on
select count(distinct a.table_name) from dba_tables a,dba_tables b;
COUNT(DISTINCTA.TABLE_NAME)
---------------------------
2444
Abgelaufen: 00:01:16.47
----
====Ungefähre Auswertung====
**Ab 12c offiziell, in 11g R2 schon vorhanden**
Schätzen mit der "approx_count_distinct()" Funktion:
select approx_count_distinct(a.table_name) from dba_tables a,dba_tables b;
APPROX_COUNT_DISTINCT(A.TABLE_NAME)
-----------------------------------
2365
Abgelaufen: 00:01:11.37
siehe Dokumentation: https://docs.oracle.com/database/121/SQLRF/functions013.htm#SQLRF56900
Oft reicht es auf sehr großen Tabellen ja auch schon ein ungefähres Ergebnis zu erhalten.