Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehr als ein Feld mit Distinct in einem Query auslesen ??

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehr als ein Feld mit Distinct in einem Query auslesen ??

    Hi

    Wenn ich nen query mach z.b.

    mysql_query("SELECT DISTINCT `title` FROM `tabelle`");

    Bekomm ich alle verschiedenen titel 1 mal auch wenn einer doppelt vorkommt.

    Angenommen in der tabelle sind folgende Datensätze:

    titel | bla
    ----------------------------
    A | 1
    A | 2
    C | 3
    D | 4
    D | 5

    Ich will das ich

    title A und bla 1,
    title C und bla 3,
    und title D und bla 4 bekomm.

    aber bei nem Distinct query bekomm ich alle Datensätze weil die bla's
    unterschiedlich sind.

    geht es das ich irgendwie sage :

    mysql_query("SELECT DISTINCT `title`,`bla` FROM `tabelle`");

    und das das Distinct nur für das feld title gilt und ich einfach das zugehörige bla dzubekomme??


    Mfg Bouni
    Sonne ?? Ich glaub davon hab ich mal was in nem Forum gelesen !?!


  • #2
    [edit]

    ok stimmt doch GROUP BY `titel`
    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

    Kommentar


    • #3
      Wie du schon richtig erkannt hast, bezieht sich DISTINCT auf alle Spalten, die du selektierst. Möchtest du dagegen, dass lediglich eine bzw. nur ein Teil der Spalten so behandelt wird, musst du GROUP BY verwenden.

      Kommentar


      • #4
        oder auch enstsprechend folgendem Muster:

        SELECT column1, column2 FROM t1
        WHERE column2 = (SELECT MIN(column2) FROM t1);

        genaueres dazu hier:
        http://dev.mysql.com/doc/refman/5.0/...ubqueries.html

        oder auch hier:

        http://mysql-faq.sourceforge.net/anwendung7.html
        5.7. Wie bekommt man die Zeile mit dem Maximalwert pro Gruppe?

        ~dilemma~

        Kommentar


        • #5
          Zitat von dilemma
          oder auch enstsprechend folgendem Muster:

          SELECT column1, column2 FROM t1
          WHERE column2 = (SELECT MIN(column2) FROM t1);
          Ich kann mir aber nicht vorstellen, dass eine Unterabfrage schneller ist als einfache Abfrage mit absteigender / aufsteigender Sortierung:
          Code:
          SELECT
              column1,
              column2
          FROM
              t1
          ORDER BY
              column2
          LIMIT
              1

          Kommentar


          • #6
            er hat doch dieses:
            titel | bla
            ----------------------------
            A | 1
            A | 2
            C | 3
            D | 4
            D | 5
            ... und sagt:
            Ich will das ich

            title A und bla 1,
            title C und bla 3,
            und title D und bla 4 bekomm.
            Dabei hilft ihm dein Code nicht wirklich. (?)

            ~dilemma~

            Kommentar


            • #7
              Zitat von dilemma
              Dabei hilft ihm dein Code nicht wirklich. (?)
              Mein Code war auf deine Beispielabfrage bezogen.

              Für sein Problem würde ich wie vorher schon erwähnt GROUP BY verwenden:
              Code:
              SELECT
                  column1,
                  MIN(column2)
              FROM
                  t1
              GROUP BY
                  column1
              ORDER BY
                  column1

              Kommentar


              • #8
                @xabbuh:

                Danke für die Korrektur und Sorrry!

                ~dilemma~

                Kommentar


                • #9
                  Zitat von dilemma
                  Danke für die Korrektur und Sorrry!
                  Kein Problem, mich wundert vielmehr, wie es dieser Beitrag überhaupt in die FAQ schaffen konnte.

                  Kommentar


                  • #10
                    Danke für die Antworten

                    Fettes Danke

                    Nun kann ich endlich zu ende proggen!

                    Mfg Bouni

                    P.S. Schöne Weihnachten falls man sich nicht mehr hört ?? schreibt ?? oder wie auch immer
                    Sonne ?? Ich glaub davon hab ich mal was in nem Forum gelesen !?!

                    Kommentar

                    Lädt...
                    X