Ferdi: mysql, doppelte einträge mit Angaben

Hi,

doppelte Einträge finde ich so:

  
SELECT Spielernummer, COUNT(*) AS zaehler  
FROM table  
GROUP BY Spielernummer  
HAVING zaehler > 1  
ORDER BY zaehler DESC  

Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?

Grüße, Ferdi

  1. Hi,

    SELECT Spielernummer, COUNT(*) AS zaehler
    FROM table
    GROUP BY Spielernummer
    HAVING zaehler > 1
    ORDER BY zaehler DESC

    
    >   
    > Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?  
      
    Das grundsätzliche Vorgehen - denn Spalten, die nicht im GROUP BY auftauchen (und nicht Ergebnis einer Aggregatfunktion sind), kannst du in diesem SELECT nicht mit auslesen.  
      
    Also etwas mit JOINs oder Subquery überlegen.  
      
    MfG ChrisB  
      
    
    -- 
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    
    1. Hi,

      SELECT Spielernummer, COUNT(*) AS zaehler
      FROM table
      GROUP BY Spielernummer
      HAVING zaehler > 1
      ORDER BY zaehler DESC

      
      > >   
      > > Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?  
      >   
      > Das grundsätzliche Vorgehen - denn Spalten, die nicht im GROUP BY auftauchen (und nicht Ergebnis einer Aggregatfunktion sind), kannst du in diesem SELECT nicht mit auslesen.  
      >   
      > Also etwas mit JOINs oder Subquery überlegen.  
      >   
      > MfG ChrisB  
      >   
      >   
        
        
      OK. Ich seh ein, das ist zu schwer für mich bzw. für uns alle hier.  
        
      Trotzdem Grüße, Ferdi
      
      1. Hi,

        SELECT Spielernummer, COUNT(*) AS zaehler
        FROM table
        GROUP BY Spielernummer
        HAVING zaehler > 1
        ORDER BY zaehler DESC

        
        > > >   
        > > > Was muß ich ändern, um die jeweiligen Spalten "Nachname" zu der doppelt vergebenen Spielernummer zu erhalten?  
          
        
        > > Also etwas mit JOINs oder Subquery überlegen.  
          
        
        > OK. Ich seh ein, das ist zu schwer für mich bzw. für uns alle hier.  
          
        So schwer ist das auch wieder nicht.  
        [In der Doku](http://dev.mysql.com/doc/refman/5.1/en/any-in-some-subqueries.html) steht wie man Subqueries verwendet.  
        Die Abfrage die dir alle doppelten Spielernummern liefert hast du ja schon.  
        Jetzt brauchst du noch eine Abfrage drum herum, die nur die Nachnamen ausgibt, die eine Nummer haben, die von deiner Abfrage geliefert wird.  
          
        Du brauchst dann in etwa so ein Konstrukt:  
        `SELECT name FROM tabelle where nummer in (abfrageDieDieEntsprechendenNummernLiefert);`{:.language-sql}  
          
        mfG,  
        steckl
        
        1. Du brauchst dann in etwa so ein Konstrukt:
          SELECT name FROM tabelle where nummer in (abfrageDieDieEntsprechendenNummernLiefert);

          mfG,
          steckl

          Hi Steckl,

          danke, der Tip hat mir geholfen, nun hab ichs. :-)

          Grüße