Попробуйте этот запрос -
SELECT 'MIN' property, GROUP_CONCAT(p1.name) name, p1.level FROM players p1
JOIN (SELECT MIN(level) level FROM players) p2
ON p1.level = p2.level
UNION
SELECT 'MAX' property, GROUP_CONCAT(p1.name) name, p1.level FROM players p1
JOIN (SELECT MAX(level) level FROM players) p2
ON p1.level = p2.level
запроса с наивысшим значением «опыт» и любой «идентификатор» -
SELECT * FROM
(SELECT 'MIN' property, p1.id, p1.level, p1.name FROM players p1
JOIN (
SELECT
level, MAX(experience) experience
FROM
players,
(SELECT @level:=MIN(level) FROM players) t
WHERE level = @level
) p2
ON p1.experience = p2.experience AND p1.level = p2.level
ORDER BY id LIMIT 1) t_min
UNION
SELECT * FROM
(SELECT 'MAX' property, p1.id, p1.level, p1.name FROM players p1
JOIN (
SELECT
level, MAX(experience) experience
FROM
players,
(SELECT @level:=MAX(level) FROM players) t
WHERE level = @level
) p2
ON p1.experience = p2.experience AND p1.level = p2.level
ORDER BY id LIMIT 1) t_max
Используйте этот набор данных в качестве подзапроса для соединения с другой таблицей -
SELECT * FROM
(
SELECT * FROM
(SELECT 'MIN' property, p1.id, p1.level, p1.name FROM players p1
JOIN (
SELECT
level, MAX(experience) experience
FROM
players,
(SELECT @level:=MIN(level) FROM players) t
WHERE level = @level
) p2
ON p1.experience = p2.experience AND p1.level = p2.level
ORDER BY id LIMIT 1) t_min
UNION
SELECT * FROM
(SELECT 'MAX' property, p1.id, p1.level, p1.name FROM players p1
JOIN (
SELECT
level, MAX(experience) experience
FROM
players,
(SELECT @level:=MAX(level) FROM players) t
WHERE level = @level
) p2
ON p1.experience = p2.experience AND p1.level = p2.level
ORDER BY id LIMIT 1) t_max
) p
LEFT JOIN guild_member gm
ON gm.id = p.id
MySQL не имеет К сожалению, аналитических функций, так что вы должны будете написать длинный и скучный запрос. – Benoit
@Benoit Большая цепочка 'UNION' скучна? –
@ Майкл: :) Я должен объяснить, что такое скучно. Для меня любой код, который потребует высокой дозы Copy-paste, несколько скучен. В этих союзах меняется только совокупная функция! – Benoit