Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Saya harus menulis kueri yang sangat menarik yang menghitung nilai nol dan baris dengan nilai

Diadaptasi dari Oracle:Cara menghitung baris null dan non-null :

SELECT
  COUNT(Col1)+COUNT(Col2)+COUNT(Col3)+
  COUNT(Col4)+COUNT(Col5)+COUNT(Col6) AS ValuesCount,

  6*COUNT(*)-COUNT(Col1)-COUNT(Col2)-COUNT(Col3)-
  COUNT(Col4)-COUNT(Col5)-COUNT(Col6) AS NullCount
FROM data
GROUP BY id

COUNT(ColX) hanya menghitung NOT NULL nilai-nilai. Menambahkannya untuk keenam kolom sama dengan ValuesCount, tentu saja.
COUNT(*) menghitung semua baris, meskipun semua kolom dalam satu baris adalah NULL . Kalikan dengan 6 untuk jumlah total sel dan kemudian kurangi semua NOT NULL nilai untuk mendapatkan NULL hitung.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:oci_bind_by_name dan bidang stempel waktu menghasilkan ORA-01461:dapat mengikat nilai PANJANG hanya untuk dimasukkan ke dalam kolom PANJANG

  2. Buka bungkus ke OracleConnection

  3. Perbaiki ORA-02273:kunci unik/utama ini direferensikan oleh beberapa kunci asing

  4. Bagaimana cara menggunakan enum di Oracle?

  5. Mengapa waktu eksekusi prosedur tersimpan Oracle sangat meningkat tergantung pada cara eksekusinya?