sql >> Database >  >> RDS >> Mysql

Tel het aantal maximale waarden voor meerdere datums

Aangezien u het RDBMS dat u gebruikt niet heeft vermeld, volgt hier een zoekopdracht die op bijna alle werkt RDBMS:

SELECT  aa.User, COUNT(bb.User ) TotalCount
FROM    (SELECT DISTINCT User FROM TableName) aa
        LEFT JOIN
        (
            SELECT  a.User
            FROM    TableName a
                    INNER JOIN
                    (
                        SELECT  Date, MAX(Value) max_val
                        FROM    TableName
                        GROUP   BY Date
                    ) b ON  a.Date = b.Date AND
                            a.Value = b.max_val
        ) bb ON aa.User = bb.User 
GROUP   BY aa.User

UITGANG

╔══════╦════════════╗
║ USER ║ TOTALCOUNT ║
╠══════╬════════════╣
║ Bob  ║          2 ║
║ John ║          2 ║
║ Paul ║          0 ║
╚══════╩════════════╝


  1. Beëindigt het gebruik van een open SQL-verbinding sluiten

  2. PostgreSQL-tabel maken als deze niet bestaat

  3. Wanneer EXCEPT gebruiken in tegenstelling tot NOT EXISTS in Transact SQL?

  4. Zoek leeftijdscategorie in mysql, php