我有一个包含国家/地区的MySQL表格,例如:
- 荷兰
- 德国
- 意大利
- 比利时
- 法国
我想按字母顺序排列此列表,但是将一个国家/地区放在首位,例如荷兰。我可以通过以下方式实现这一目标:
SELECT FROM FROM FROM ORDER BY Country ='Holland'DESC,Country
但是,我还希望将Holland列入字母顺序列表中,作为副本。该列表应如下所示:
- 荷兰
- 比利时
- 法国
- 德国
- 荷兰
- 意大利
如何实现这一目标?
答案 0 :(得分:3)
复制行的最简单方法是使用UNION。
SELECT Country
FROM (SELECT 1 AS priority, Country
FROM Countries
WHERE Country = "Holland"
UNION
SELECT 2 AS priority, Country
FROM Countries) AS subquery
ORDER BY priority, Country
答案 1 :(得分:1)
您可以使用UNION将该值附加到查询结果的顶部:
SELECT 'Holland'
UNION ALL
SELECT Country FROM Countries ORDER BY Country ASC