sql >> Databáze >  >> RDS >> Oracle

Musím napsat velmi zajímavý dotaz, který vypočítá nulové hodnoty a řádky s hodnotami

Převzato z Oracle:Jak počítat null a non-null řádky :

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) počítá pouze NOT NULL hodnoty. Přidání těchto hodnot pro všech šest sloupců se samozřejmě rovná ValuesCount.
COUNT(*) počítá všechny řádky, i když všechny sloupce v jednom řádku byly NULL . Vynásobte 6 pro celkový počet buněk a poté odečtěte všechny NOT NULL hodnoty, abyste získali NULL počítat.



  1. Jak naplnit hodnoty cizích klíčů v konfiguraci Hibernate + Spring JPA, když jsou současně zachovány nadřazené/podřízené objekty?

  2. Dotaz na komplexní kritéria:použití JPA místo NativeQuery

  3. PostgreSQL odstraní všechny záznamy kromě nejstarších

  4. Jak trvale nastavit časové pásmo pro Postgres 9.4