【发布时间】:2016-04-07 09:53:48
【问题描述】:
这是针对数据库上的 HackerRank Weather Observation 5 问题 (https://www.hackerrank.com/challenges/weather-observation-station-5)。我将如何解决这个问题?
查询STATION中CITY最短和最长的两个城市 名称,以及它们各自的长度(即:字符数 在名字里)。如果有不止一个最小或最大的城市, 选择按字母顺序排列的第一个。
这是我目前所拥有的
SELECT CITY, MAX LENGTH(CITY) FROM STATION;
但这显然行不通。
【问题讨论】:
-
其中 LENGTH(CITY) = (select max(LENGTH(CITY)) from ...
-
您应该始终在请求中描述任务。否则,一旦您链接到的站点超出范围,您将无法再查找该任务。我添加了来自 HackerRank 网站的引用来描述这里的任务。
-
您开始这样的任务似乎有点早。您仍在努力寻找最长的城市名称。但是给出的任务要求你处理关系(当长度相同时,按字母顺序取第一个),这已经需要更多的 SQL 知识。然后,您不仅要找到最长的城市名称,还要找到最短的城市名称,并在一个查询中显示两者。这并不容易。也许你应该先尝试更简单的任务。不过,我发布了我的答案。他们可能会帮助遇到类似问题的其他人,但我认为他们对您作为初学者的帮助不大。