sql >> Databasteknik >  >> RDS >> Oracle

Räkna antal värden per id

Gör en GROUP BY , använd COUNT (som bara räknar icke-nullvärden):

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

Redigera :

Om värdena inte är null utan '.' (eller något annat), använd case uttryck för att göra villkorlig räkning, något som:

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



  1. Postgres lindar undersökningsresultat inom parentes

  2. Vad som ska indexeras på frågor med många kolumner i WHERE-satsen

  3. MYSQL sökfältsmetod

  4. MySQL Duplicate kolumnfel endast när frågan lindades som underfråga