gpt4 book ai didi

mysql - 按字母顺序选择具有各自长度顺序的第一个城市名称

转载 作者:行者123 更新时间:2023-11-29 07:35:26 24 4
gpt4 key购买 nike

我想到了一个基于HackerRank问题的后续问题,想知道是否可以通过SQL解决。

示例输入

假设 CITY 有四个条目:DEFG、ABC、PQRSER 和 WXY

示例输出

ABC 3
DEFG 4
PQRSER 6

我想知道是否可以使用 SQL 按字母顺序排列城市和城市名称的长度以及相应的长度。如果有相同长度城市的选项(例如 ABC、WXY),我只想选择第一个城市名称,因为它按字母顺序排在第一位。谢谢!

最佳答案

我认为您需要在此处按长度进行聚合。下面的子查询为城市的每个字符长度标识了按字母顺序排列的名字。然后,我们加入这个子查询,为我们留下我们想要的城市名称,按长度升序排列。

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT MIN(city) AS first_city
FROM yourTable
GROUP BY CHAR_LENGTH(city)
) t2
ON t1.city = t2.first_city
ORDER BY
CHAR_LENGTH(t1.city);

Demo

注意:如果您真的只想要城市名称,那么以下内容就足够了:

SELECT MIN(city) AS first_city, CHAR_LENGTH(city) AS length_city
FROM yourTable
GROUP BY CHAR_LENGTH(city)
ORDER BY CHAR_LENGTH(city)

但在现实生活中,更常见的情况是,您希望返回整个记录,在这种情况下,我的第一个查询是更好的选择。

关于mysql - 按字母顺序选择具有各自长度顺序的第一个城市名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49062702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com