我有一个包含国家/地区的MySQL表,例如:


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


我想按字母顺序排列此列表,但将一个国家/地区放在首位,例如荷兰。我可以通过以下方法实现:


  从国家/地区中选择国家/地区按国家/地区=“荷兰” DESC,国家/地区


但是,我也想将荷兰作为重复项包括在字母列表中。该列表应如下所示:


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


如何做到这一点?

最佳答案

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

关于mysql - 按顺序排除某些值并重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24005327/

10-16 01:07