mysql对特定值的数据进行排序

dy2hfwbg  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(261)

我有一个mysql视图代码,它将某些值按字母顺序排列在组的顶部,其他值按字母顺序排列:

SELECT 
    `country`.`iso3` AS `iso3`,
    `country`.`iso2` AS `iso2`,
    `country`.`name_en` AS `name_en`,
    `country`.`name_fr` AS `name_fr`,
    IF((`country`.`continent_en` <> 'Africa'),
        'International',
        `country`.`continent_en`) AS `continent_en`,
    IF((`country`.`continent_fr` <> 'Afrique'),
        'International',
        `country`.`continent_fr`) AS `continent_fr`,
    `country`.`flag_address` AS `flag_address`
FROM
    `country`
ORDER BY IF((`country`.`continent_en` <> 'Africa'),
    'International',
    `country`.`continent_en`) , FIELD(`country`.`name_en`, 'International') DESC , `country`.`name_en`

它可以在本地运行,但是当我在网上尝试时,每个组的第一个值都会被剥离。
在当地,它给出了非洲大陆国家之上的非洲“国家”记录和国际大陆国家之上的国际“国家”记录。网上那两张记录不见了。我怎样才能解决这个问题。
谢谢
我在本地运行mysql 57,在网上运行mysql 56。

相关问题