sql >> Databasteknik >  >> RDS >> Mysql

MySQL-grupp med ordning/prioritering av en annan kolumn

Du kan använda det där MAX-exemplet, du behövde bara "fejka det". Se här: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. Hur ersätter man den senaste förekomsten av en delsträng i MYSQL?

  2. Hur man skapar en tabell endast om den inte finns i PostgreSQL

  3. MySQL &Java - Få id för det senast infogade värdet (JDBC)

  4. För många öppna filer fel på Ubuntu 8.04