我的示例查询:
SELECT User.id, User.name, MAX(Track.id) as track_id
FROM users AS User
LEFT JOIN tracks AS Track ON (User.id = Track.user_id)
GROUP BY Track.id
我可以将MAX(Track.id)
替换为"适合"它在Track
?例如。像MAX(Track.id) as Track.id
这样的东西我可以做ORDER BY Track.id
。
我需要这个,因为我已经拥有动态ORDER
和WHERE
的所有APP逻辑,并且只有一种情况我需要做GROUP BY
,我也使用ORM完成所有这些工作。所以我想保留所有APP逻辑,但在特定情况下添加聚合字段和GROUP BY
,在我的APP中仍然使用Track.id
,意思MAX(Track.id)
是否可能?
答案 0 :(得分:1)
在命名别名或选择像这样的列
中使用反引号(`)SELECT User.id, User.name, Track.name, MAX(Track.id) as `Track.id`
from users as User
LEFT JOIN tracks as Track ON (User.id = Track.user_id)
GROUP BY Track.id
反引号用于转义MySQL保留字。