我有以下查询(简化):
SELECT * FROM projects ORDER BY name ASC
现在我想要一个ID - 应首先选择一个ID,然后选择其他ID(使用ORDER BY
)。你可以想象这就像两个合并在一起的查询:
SELECT * FROM projects WHERE ID = 1
SELECT * FROM projects WHERE ID != 1 ORDER BY name ASC
或 - 如果更好理解:
SELECT * FROM projects ORDER BY `ID` = 1, name ASC -- Invalid syntax, of course
MySQL如何实现(在一个查询中)?
答案 0 :(得分:1)
嗯,从我的头脑,这是我能提供的。在这种情况下,您可以选择使用联盟:
您的查询将变为:
(SELECT * FROM projects WHERE ID = 1)
UNION
(SELECT * FROM projects WHERE ID != 1 ORDER BY name ASC)
如果您想要的话,这是一个查询。