我试图执行这个查询:如何使用MySQL UNION内UNION ALL
(
SELECT co.id as offerId, co.title, co.details, co.link, co.reference, co.rank
FROM club_offer co
WHERE co.id IN (31, 791, 360, 382)
GROUP BY offerId
UNION
SELECT co.id as offerId, co.title, co.details, co.link, co.reference, co.rank
FROM club_offer co
WHERE co.id IN (869, 376, 201, 1246)
GROUP BY offerId
ORDER BY rank DESC
)
UNION ALL
(
SELECT co.id as offerId, co.title, co.details, co.link, co.reference, co.rank
FROM club_offer co
WHERE co.id IN (117, 168, 193, 204, 330, 377, 378, 379, 380, 381, 452, 931, 980, 1100, 1146, 1147, 1190, 1247)
GROUP BY offerId
ORDER BY rank DESC
)
,但我得到的错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION
所以,我想,要么我使用错误的语法或我正在尝试做一些无法完成的事情。我猜这个SQL小提琴不需要这个,很有可能有经验的人会马上看到什么是错的。
有人可以帮忙吗?谢谢
删除'ORDER BY's – Lamak
没有帮助..... –
为什么GROUP BY时,没有聚合函数被使用?此外,MySQL可以在GROUP BY中使用别名吗? – jarlh