Announcement

Collapse
No announcement yet.

nur jeweils höchsten Datensatz innerhalb einer Tabelle anzeigen

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

  • nur jeweils höchsten Datensatz innerhalb einer Tabelle anzeigen

    Hallo,

    hab zwei spalten in einer tabelle:
    NAME, GEHALT

    jetzt steht zum beispiel folgendes drin:
    MEIER 500
    MEIER 750
    MEIER 450
    HAMM 630
    HAMM 260
    DORN 800
    DORN 150

    wie lautet die Abfrage, wenn ich als ergebnis immer den Namens-Datensatz des jeweiligen höchsten Gehaltes, also folgende Werte haben möchte:
    MEIER 750
    HAMM 630
    DORN 800

    danke
    christoph

  • #2
    Hallo Christoph,

    am einfachsten über eine Aggregatfunktion:
    SELECT NAME, MAX(GEHALT)
    FROM tabelle
    GROUP BY NAME

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      hallo,

      super, danke, (habs immer ohne group by funktion verwendet....)
      Das das thema dreimal gepostet worden ist, kann ich leider auch nicht nachvollziehen -> habs auf jeden fall nur einmal eingetragen....keine ahnung was da schief gelaufen ist....trotzdem sorry....

      christop

      Comment


      • #4
        Hallo Christoph,

        <hr size="1" noshade />
        <cite>Das das thema dreimal gepostet worden ist, kann ich leider auch nicht nachvollziehen -> habs auf jeden fall nur einmal eingetragen....</cite>
        <hr size="1" noshade />
        Dann Sorry für den "Anranzer", aber wenn du hier sitzt, Beiträge durchguckst und dann kommt einer, den man grade vor 2min. Beantwortet hat und dann weitere 5min. nochmal, dann nervt das auch!

        Gruß Fal
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          hallo falk,

          kein thema, würde mich an Deiner Stelle genauso nerven....

          eine frage hätte ich noch zu dem thema:
          wenn es jetzt noch eine dritte spalte (z.B DATUM) gibt, welche ich noch mit ausgeben möchte, wie lautete die abrage dann?
          (ich will also praktisch die jeweiligen Datensätze für die Namen. die den größten wert für das GEhalt besitzen und das entsprechende Datum dazu...

          danke
          christop

          Comment


          • #6
            Einfach das Datum mit in die SELECT und GROUP BY Anweisung aufnehmen.
            SELECT NAME, DATUM, MAX(GEHALT)
            FROM tabelle
            GROUP BY NAME, DATU

            Comment


            • #7
              Hallo,
              vielleicht denke ich zu kompliziert, aber ich glaube Christoph braucht das Datum welches zu MAX(GEHALT) gehört und nicht das MAX(GEHALT) einer Person an einem bestimmten Tag .
              Falls dies so ist, kannst du mit einem INNER-Select arbeiten. In dem inneren Select ermittelst du wie gehabt MAX(GEHALT) und den Namen und im äußeren packst du das passende Datum dazu. z.B.:
              <p>SELECT outer.name, outer.datum, inner.max_gehalt
              FROM tabelle outer,
              (SELECT name, MAX(gehalt) max_gehalt
              FROM tabelle
              GROUP BY name) inner
              WHERE inner.name = outer.name
              AND inner.max_gehalt = outer.gehalt</p>

              Gruß Fal
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #8
                Als Ergänzung,

                hat jemand an mehreren Tagen das MAX(gehalt) bekommen, so werden diese in einzelnen DS mit dem zugehörigen Datum aufgelistet!

                Gruß Fal
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  super falk,

                  genau das wars....

                  vielen, vielen dank

                  gruß
                  christop

                  Comment

                  Working...
                  X