Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Anzahl der Werte pro ID zählen

Führen Sie ein GROUP BY durch , verwenden Sie COUNT (der nur Nicht-Null-Werte zählt):

select id,
       count(value1) as value1,
       count(value2) as value2,
       count(value3) as value3
from table1
group by id

Bearbeiten :

Wenn die Werte nicht null sind, sondern '.' (oder etwas anderes), verwenden Sie case Ausdrücke zum bedingten Zählen, so etwas wie:

select id,
       count(case when value1 <> '.' then 1 end) as value1,
       count(case when value2 <> '.' then 1 end) as value2,
       count(case when value3 <> '.' then 1 end) as value3
from table1
group by id