在需要按字母顺序显示的国家列表中,您需要将美国放在列表的顶部。你会怎么做?
我的回答是,我将拥有一个表结构,使美国的id-0。
其余国家按字母顺序排列。
所以当我从桌子上拿东西时,我会做一个“SELECT CountryName from tableOfCountries ORDER by ID
我不确定面试官是否想听这个。
所以我建议了另一种选择,用美国作为第一个元素填充一个国家数组。然后将从查询的结果集填充其余元素。

"SELECT CountryName FROM tableOfCountries WHERE countryName != 'US' ORDER by COUNTRY_NAME".

这将确保美国不会被选中两次。
面试官也不满意这个选择。所以他问我是否还有其他选择。然后我在web服务器上说了一个包含值列表的文本文件。
你还有别的选择吗?

最佳答案

一般来说像:

SELECT
    CountryName

from tableOfCountries

ORDER by
    (case when CountryName = 'US' then 0
     else 1 end) asc, CountryName asc

08-07 05:10