sql >> データベース >  >> RDS >> Mysql

いくつかの日付の最大値の数を数える

    使用しているRDBMSについて言及していないため、ほぼすべてで機能するクエリを次に示します。 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
    

    出力

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


    1. 連続訪問数をカウントする

    2. Pythonの実行可能なデータベース抽象化レイヤーは何ですか

    3. SQLServer2000で行のセットを列として転置する

    4. PHPをサポートする無料のWebホスティング