Maison  >  Questions et réponses  >  le corps du texte

Utilisez une requête SQL pour récupérer l'identifiant unique d'un sujet spécifique et d'un score spécifié.

<p>Vous souhaitez écrire une requête SQL pour obtenir les identifiants uniques des personnes ayant un score en mathématiques de 80, un score en anglais de 70 et un score total de 400 ou plus. La réponse sera id-1 et 2</p> <pre class="brush:php;toolbar:false;">ID Marques de sujet 1 Mathématiques 80 1 anglais 70 1 hindi 80 1 Sciences 80 1 acier inoxydable 90 2 Mathématiques 80 2 anglais 70 2 hindi 90 2 Sciences 80 2 acier inoxydable 100 3 Mathématiques 80 3 Anglais 60 3 hindi 90 3 Sciences 100 3 SST 100</pré> <p>Je ne sais pas comment insérer deux sujets ensemble en tant que filtre. <br /><br />Requête valide -</p><p><br /></p> <pre class="brush:php;toolbar:false;">SELECT `ID` FROM `ff` OÙ (`SUBJECT`='MATHS' AND `MARKS`= 80 AND `ID` IN (SELECT `ID` FROM `ff` GROUP BY `ID` HAVING SUM(`MARKS`) >=400) ) OU (` SUBJECT`= 'ENGLISH' AND `MARKS`=70 AND `ID` IN (SELECT `ID` FROM `ff` GROUP BY `ID` HAVING SUM(`MARKS`) >=400) )</pre> <p>Mais cela ne donne pas les résultats escomptés. </p>
P粉779565855P粉779565855444 Il y a quelques jours519

répondre à tous(1)je répondrai

  • P粉081360775

    P粉0813607752023-08-03 09:30:06

    Vous pouvez utiliser l'agrégation conditionnelle.

    SELECT `ID` 
    FROM `ff`
    GROUP BY `ID` 
    HAVING SUM(`MARKS`) >= 400  
      AND SUM(case when `SUBJECT` = 'English' then `MARKS`end) = 70 
      AND SUM(case when `SUBJECT` = 'Math' then `MARKS` end) = 80

    répondre
    0
  • Annulerrépondre