Announcement

Collapse
No announcement yet.

problem bei Min-Funktion

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • problem bei Min-Funktion

    Hallo
    Ausgangssituation:
    Abfrage liefert dieses Ergebnis:
    Code:
    moduletitle	AVGMark
    Management Decision Making	40
    Innovation Management I	51,4
    Database Implementation and De	52,25
    Marketing	57
    Datawarehousing	59,65
    Information Systems	70,25
    International Marketing	72,975
    SAP WF module	74,6
    Project Management	77,2666666666667

    Nun moechte ich mir den Kurs mit der kleinsten AVGMark anzeigen lassen (d.h. Moduletitle & AVGMARK)?

    Mein Ansatz war:
    Code:
    SELECT moduletitle, min(avgmark) 
    FROM tablexyz
    Hier fehlt nun das GROUP BY, aber wenn ich das mache liefert er mir das obere Ergebnis wieder 1 zu 1 zurueck.

    Hat jemand eine Idee???

  • #2
    [highlight="sql"]
    SELECT
    moduletitle, min(avgmark)
    FROM
    tablexyz
    GROUP BY
    moduletitle;

    [/highlight]

    Comment


    • #3
      nein das funktioniert leider nicht - da kriege ich das gleiche ergebniss unsortiert raus.

      Comment


      • #4
        Welchen Typ hat AVGMark ?

        Comment


        • #5
          ich nehme an double, da er is in access umcastet

          Die Wert wird aus den Integern studmodass.assignmentmark und weighting.WeightingAssignment gewonnen (siehe unten).

          Code:
          SELECT module.moduletitle, Avg((weighting.WeightingAssignment*studmodass.assignmentmark)/100+(weighting.Weightingexamination*studmodass.examinationmark)/100) AS AVGMark
          FROM studmodass, weighting, [module]
          WHERE (((module.moduleID)=studmodass.moduleID) And ((weighting.weightingtype)=module.weightingtype) And ((IsNull(studmodass.assignmentmark))=False) And ((IsNull(studmodass.examinationmark))=False))
          GROUP BY module.moduletitle
          ORDER BY Avg((weighting.WeightingAssignment*studmodass.assignmentmark)/100+(weighting.Weightingexamination*studmodass.examinationmark)/100);
          bitte auf die klammern nicht achten - da meint access immer reinpfuschen zu muessen
          Zuletzt editiert von rkhartmann; 11.04.2008, 21:59. Reason: hinweis

          Comment


          • #6
            select t1.moduletitle,t1.avgmark from tabelle t1
            where
            t1.avgmark =
            SELECT ( min(t2.avgmark) FROM tabelle t2)

            Gruß frauwue
            docendo discimus

            Comment


            • #7
              super danke.
              das hat geklappt ... wundert mich dass ich darauf nicht selbst gekommen bin

              Comment

              Working...
              X