У меня есть запрос mysql, и мне нужен порядок по времени
SELECT id, name, level as lvl, leader as par3
FROM Road
WHERE Road.id LIKE '180'
UNION ALL SELECT id, name, lvl, lastonline, dnd, null, raceid, currenthp, dressed_hp as hp
FROM Users
WHERE rid LIKE '180' AND id NOT LIKE (SELECT leader FROM Road WHERE id LIKE '180')
UNION ALL
SELECT Users.id as id, Users.name, lvl, lastonline, dnd, currentlocid, Location.name as locname, currenthp, dressed_hp as hp
FROM Users LEFT JOIN Location ON (Location.id = currentlocid)
WHERE Users.id LIKE(SELECT leader FROM Road WHERE id LIKE '180') ORDER BY Users.timeacceptinvite
select x.* from (
SELECT
id, name, level as lvl, leader as par3, timeacceptinvite
FROM Road
WHERE Road.id LIKE '180'
UNION ALL
SELECT
id, name, lvl, lastonline, dnd, null, raceid, currenthp, dressed_hp as hp, timeacceptinvite
FROM Users
WHERE rid LIKE '180'
AND id NOT LIKE (SELECT leader FROM Road WHERE id LIKE '180')
UNION ALL
SELECT
Users.id as id, Users.name, lvl, lastonline, dnd, currentlocid, Location.name as locname, currenthp, dressed_hp as hp, timeacceptinvite
FROM Users LEFT JOIN Location ON (Location.id = currentlocid)
WHERE Users.id LIKE(SELECT leader FROM Road WHERE id LIKE '180')
) as x
ORDER BY x.timeacceptinvite
изменить 1
но я думаю, что вы получите разное количество ошибок столбцов...
Порядок распространяется на весь союз. Вы не можете указать псевдоним, такой как Users.timeacceptinvite
который используется только в части объединения. Вы должны указать имя столбца, как определено в самой верхней части объединения.
Сказав это, различные запросы, составляющие ваш союз, имеют разное количество столбцов. Это даст синтаксическую ошибку. В качестве первого шага убедитесь, что все части объединения возвращают одинаковое количество столбцов с одинаковыми типами.