Search code examples
mysqlsqljoinmaxinner-join

How do I show the name who has the most dates? like max(count(max(date)))


I thought something like this:

SELECT l.vorname
     , l.nachname 
  FROM leser l 
  JOIN ausleihe a 
    ON l.LeserNr = a.LeserNr 
 WHERE MAX(COUNT(a.gemahnt)) = 
    (SELECT = COUNT(gemahnt) AS Anzahl 
       FROM ausleihe 
     WHERE Anzahl = (SELECT MAX(Anzahl)));

Solution

  • SELECT 
    l.Vorname, l.Nachname, COUNT(a.gemahnt) AS Anzahl
        FROM
    leser l
        JOIN
    ausleihe a ON l.LeserNr = a.LeserNr
       WHERE
    a.gemahnt IS NOT NULL
    GROUP BY a.LeserNr
    HAVING Anzahl = (SELECT 
        COUNT(gemahnt)
    FROM
        ausleihe
    WHERE
        gemahnt IS NOT NULL
    GROUP BY LeserNr
    ORDER BY COUNT(gemahnt) DESC LIMIT 1);
    

    :D