Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL SELECT от множество таблици, множество GROUP BY и group_concat?

SELECT Leaderboard.Name,
  (SELECT Actions.Action
   FROM Actions
   WHERE Actions.Name = Leaderboard.Name
     AND Actions.Action LIKE 'Ate%'
   ORDER BY Time DESC
   LIMIT 1
  ) AS Latest_Action,
  GROUP_CONCAT(Items.Item
               ORDER BY Items.Time DESC
               SEPARATOR ', '
              ) AS Items
FROM Leaderboard
     LEFT JOIN Items ON Leaderboard.Name = Items.Name
GROUP BY Leaderboard.Name
HAVING Latest_Action IS NOT NULL
ORDER BY Leaderboard.Score DESC

Резултатът е потвърден в SQL Fiddle .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да импортирате CSV файл в MySQL таблица

  2. Групиране по първа буква, по азбучен ред, най-добрият начин?

  3. MySQL GROUP BY/ORDER BY проблем

  4. Персонализиран тип данни на Doctrine

  5. Настройка на Django с MySQL на macOS