Oracle
 sql >> Database >  >> RDS >> Oracle

Conta il numero di valori per ID

Fai un GROUP BY , usa COUNT (che conta solo valori non nulli):

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

Modifica :

Se i valori non sono nulli ma '.' (o qualcos'altro), usa case espressioni per eseguire il conteggio condizionale, qualcosa come:

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