sql >> Databasteknik >  >> RDS >> Oracle

Hitta korrekt besvarade frågor i ett onlinetest med enkel- och flervalsfrågor

UPPDATERING:detta fungerar inte för OP:s tabelldesign där 2 rader skapas för 4-svarsfrågor

Jag tror att du först måste kontrollera varje fråga om alla svar har rätt och sedan räkna frågorna utan felaktiga svar:

select
  count(*) - count(incorrect_answers_per_question) correct
from (
  select
    d.test_id,
    d.question_id,
    sum(case when r.correct_response_flag = 'N' then 1 end) incorrect_answers_per_question
  from test_response d
  join question_response r on d.response_id = r.question_resp_id
  where d.test_id = '10113'
  group by d.test_id, d.question_id
)



  1. Antal rader lästa / faktiska rader Läs varningar i Plan Explorer

  2. Vältalande grupp Genom att skapa SQLSTATE[42000] med giltig SQL-fråga i Laravel 5.3

  3. Hur filtrerar man en PostgreSQL-arraykolumn med JPA Criteria API?

  4. Entity Framework:Database.ExecuteSqlCommand Method