Oracle
 sql >> база данни >  >> RDS >> Oracle

Трябва да напиша много интересна заявка, която изчислява нулеви стойности и редове със стойности

Адаптирано от Oracle:Как да броим нулеви и ненулеви редове :

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) брои само NOT NULL стойности. Добавянето им за всичките шест колони се равнява на ValuesCount, разбира се.
COUNT(*) брои всички редове, дори ако всички колони в един ред са NULL . Умножете по 6 за общия брой клетки и след това извадете всички NOT NULL стойности, за да получите NULL брой.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - сравняване на стойността по подразбиране на колона

  2. Не е валиден месец в Oracle, когато се използва add_months

  3. Как да декларирате потребителско дефинирано изключение с помощта на променлива за изключение в базата данни на Oracle

  4. Group_concat MySQL функцията е еквивалентна в Oracle

  5. Oracle SQL:Колона не е разрешена