在需要按字母顺序显示的国家列表中,您需要将美国放在列表的顶部。你会怎么做?
我的回答是,我将拥有一个表结构,使美国的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