3198. 查找每个州的城市

力扣题目跳转(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

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

3198. 查找每个州的城市-CSDN博客来源:力扣(leecode著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。转载请注明出处:我会尽快把力扣上的所有数据库题目发出来。每天不定时跟新。https://blog.csdn.net/CYJ1844/article/details/143067749

我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值