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

別の列の順序/優先度を使用したMySQLグループ化

    あなたはそのMAXの例を使うことができます、あなたはただそれを「偽造する」必要がありました。こちらをご覧ください: http://sqlfiddle.com/#!2/58688/5 >

    SELECT *
    FROM test
    JOIN (SELECT 'west' AS direction, 4 AS weight
          UNION
          SELECT 'north',3
          UNION
          SELECT 'south',2
          UNION
          SELECT 'east',1) AS priority
      ON priority.direction = test.direction
    JOIN (
          SELECT route, MAX(weight) AS weight
          FROM test
          JOIN (SELECT 'west' AS direction, 4 AS weight
                UNION
                SELECT 'north',3
                UNION
                SELECT 'south',2
                UNION
                SELECT 'east',1) AS priority
            ON priority.direction = test.direction
          GROUP BY route
    ) AS t1
      ON t1.route = test.route
        AND t1.weight = priority.weight
    


    1. 共有LinuxホスティングプランでMySQLデータベースをプログラムで作成する方法

    2. 1つのSQLに複数のWITHASを含めることはできますか-OracleSQL

    3. バンドラーを実行できません、エラーが発生し続けます

    4. 自動データ収集:MSSQLServerのデータベースファイルと論理ドライブ