首页 文章

按顺序排除某些值并复制

提问于
浏览
0

我有一个国家的MySQL表,例如:

荷兰德国意大利比利时法国

我想按字母顺序排列这个列表,但是将一个国家放在首位,例如荷兰 . 我可以用:

SELECT FROM FROM FROM ORDER BY Country ='Holland'DESC,Country

但是,我还希望将Holland列入字母顺序列表中,作为副本 . 该列表应如下所示:

荷兰比利时法国德国荷兰意大利

怎么能实现这一目标?

2 回答

  • 3

    您可以使用UNION将该值附加到查询结果的顶部:

    SELECT 'Holland' 
    UNION ALL
    SELECT Country FROM Countries ORDER BY Country ASC
    
  • 1

    复制行的最简单方法是使用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
    

相关问题