suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Verwenden Sie eine SQL-Abfrage, um die eindeutige Kennung für ein bestimmtes Thema und eine bestimmte Punktzahl abzurufen.

<p>Sie möchten eine SQL-Abfrage schreiben, um die eindeutigen IDs von Personen mit einem Mathematikergebnis von 80, einem Englischergebnis von 70 und einem Gesamtergebnis von 400 oder mehr zu erhalten. Die Antwort lautet id-1 und 2</p> <pre class="brush:php;toolbar:false;">ID-Betreffmarkierungen 1 Mathematik 80 1 Englisch 70 1 Hindi 80 1 Wissenschaft 80 1 Edelstahl 90 2 Mathematik 80 2 Englisch 70 2 Hindi 90 2 Wissenschaft 80 2 SST 100 3 Mathematik 80 3 Englisch 60 3 Hindi 90 3 Wissenschaft 100 3 SST 100</pre> <p>Ich weiß nicht, wie ich zwei Themen als Filter zusammenfügen soll. <br /><br />Gültige Abfrage -</p><p><br /></p> <pre class="brush:php;toolbar:false;">SELECT `ID` FROM `ff` WHERE (`SUBJECT`='MATHS' AND `MARKS`= 80 AND `ID` IN (SELECT `ID` FROM `ff` GROUP BY `ID` HAVING SUM(`MARKS`) >=400) ) OR (` SUBJECT`= 'ENGLISH' AND `MARKS`=70 AND `ID` IN (SELECT `ID` FROM `ff` GROUP BY `ID` HAVING SUM(`MARKS`) >=400) )</pre> <p>Dies führt jedoch nicht zu den erwarteten Ergebnissen. </p>
P粉779565855P粉779565855490 Tage vor541

Antworte allen(1)Ich werde antworten

  • P粉081360775

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

    您可以使用条件聚合。

    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

    Antwort
    0
  • StornierenAntwort