力扣题目跳转(3198. 查找每个州的城市 - 力扣(LeetCode))
表:
cities
+-------------+---------+ | Column Name | Type | +-------------+---------+ | state | varchar | | city | varchar | +-------------+---------+ (state, city) 是这张表的主键(有不同值的列的组合)。 这张表的每一行包含州名和其中的城市名。
题目要求:
编写一个解决方案来 查找每个州的所有城市,并将它们组合成 一个逗号分隔 的字符串。
返回结果表以 state
升序 排序。
结果格式如下所示。
示例:
输入:
cities 表:
+-------------+---------------+ | state | city | +-------------+---------------+ | California | Los Angeles | | California | San Francisco | | California | San Diego | | Texas | Houston | | Texas | Austin | | Texas | Dallas | | New York | New York City | | New York | Buffalo | | New York | Rochester | +-------------+---------------+输出:
+-------------+---------------------------------------+ | state | cities | +-------------+---------------------------------------+ | California | Los Angeles, San Diego, San Francisco | | New York | Buffalo, New York City, Rochester | | Texas | Austin, Dallas, Houston | +-------------+---------------------------------------+解释:
- California:所有城市 ("Los Angeles", "San Diego", "San Francisco") 以逗号分隔的字符串列出。
- New York:所有城市 ("Buffalo", "New York City", "Rochester") 以逗号分隔的字符串列出。
- Texas:所有城市 ("Austin", "Dallas", "Houston") 以逗号分隔的字符串列出。
注意:输出表以州名升序排序。
case1 的建表语句。
Create table if not exists cities( state varchar(100),city varchar(100))
Truncate table cities
insert into cities (state, city) values ('California', 'Los Angeles')
insert into cities (state, city) values ('California', 'San Francisco')
insert into cities (state, city) values ('California', 'San Diego')
insert into cities (state, city) values ('Texas', 'Houston')
insert into cities (state, city) values ('Texas', 'Austin')
insert into cities (state, city) values ('Texas', 'Dallas')
insert into cities (state, city) values ('New York', 'New York City')
insert into cities (state, city) values ('New York', 'Buffalo')
insert into cities (state, city) values ('New York', 'Rochester')
这个题目和之前的一道题目考察的点是一样的。链接为3059. 找到所有不同的邮件域名-CSDN博客
一 我们按照 state 进行分组,然后通过 group_concat() 对一组的字符串进行拼接。
select state, group_concat(city order by city separator ', ') as cities from cities group by state order by state;
最后按照 state 进行排序即可。
以上就是全部答案,如果对你有帮助请点个赞,谢谢。
来源:力扣(leecode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
转载请注明出处:
我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。