gpt4 book ai didi

sql - HackerRank 天气观测站 5

转载 作者:行者123 更新时间:2023-12-05 00:40:18 24 4
gpt4 key购买 nike

我想知道为什么我的代码不起作用。这个问题之前在这里被问过: Query the two cities in STATION with the shortest and longest CITY names,

这里的解决方案: https://github.com/chhayac/SQL-hackerrank-problems/blob/master/basic-select.md

但是这两个答案都不起作用。我已经粘贴了下面的问题,然后是我的解决方案。感谢您的帮助!

查询 STATION 中两个城市的 CITY 名称最短和最长,以及它们各自的长度(即:名称中的字符数)。如果有不止一个最小或最大的城市,请选择按字母顺序排列的第一个城市。

输入格式

STATION表描述如下:

Station.jpg

其中 LAT_N 是北纬,LONG_W 是西经。

示例输入

假设 CITY 只有四个条目:DEF、ABC、PQRS 和 WXY

样本输出

ABC 3
PQRS 4

解释

按字母顺序排列时,CITY 名称被列为 ABC、DEF、PQRS 和 WXY,其长度分别为 和 。名字最长的城市显然是PQRS,但是最短名字的城市有选项;我们选择 ABC,因为它按字母顺序排在第一位。

注意您可以编写两个单独的查询来获得所需的输出。不必是单个查询。

我的回答:

/按字母顺序排序的最短字符长度/

SELECT city, LENGTH(city) as length_char
FROM station
ORDER BY LENGTH(city) ASC, city ASC
LIMIT 1;

/按字母顺序排序的最长字符长度/

SELECT city, LENGTH(city) as length_char
FROM station
ORDER BY LENGTH(city) DESC
LIMIT 1;

最佳答案

您在 github 上的解决方案如下所示:

select city, length(city) from station order by length(city) DESC,city ASC fetch first row only;
select city, length(city) from station order by length(city) asc ,city asc fetch first row only;

你有一个问题 - 没有像 fetch first row only 这样的命令。根据数据库系统,它可以是 toplimitrownum - 请在此处阅读更多信息 - https://www.w3schools.com/sql/sql_top.asp

因此,根据系统的不同,答案也会有所不同。

甲骨文

select * from (select city c, length(city) l
from station
order by l desc, c asc)
where rownum = 1;

select * from (select city c, length(city) l
from station
order by l asc, c asc)
where rownum = 1;

SQL 服务器

select top 1 city c, len(city) l
from station
order by l desc, c asc;

select top 1 city c, len(city) l
from station
order by l asc, c asc;

MySQL

select city c, length(city) l
from station
order by l desc, c asc
limit 1;

select city c, length(city) l
from station
order by l asc, c asc
limit 1;

或使用 union:

(select city, length(city) 
from station
order by length(city) asc , city asc limit 1)
union
(select city,length(city)
from station
order by length(city) desc, city asc limit 1)

关于sql - HackerRank 天气观测站 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737288/

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