[SQL Runday] HackerRank Weather Observation Station 5
3691 ワード
STATIONテーブルでは、2つの名前が最も短く、最も長い都市(各都市に1つの長さがある)を検索します.
--1つまたは複数の場合は、アルファベット順に検索します.
function バイト数文字の関数です. 英語はで構わないが、ハングルを計算するには
サブクエリの使用中にEvery derived tableに独自の別名が必要というエラーが発生しました.
サブクエリに別名(名前)が指定されていないためです. このように指定しましょう
問題を見て最初に聞いた考えはmax、minを求めるテーブルを作ることです.
だから次のように近づいた.
最終的には快適な方法で回転します
maxとminでクエリーして表を貼り付けます
--1つまたは複数の場合は、アルファベット順に検索します.
Key Points
LENGTH()
CHAR_LENGTH()
を使う.Errors
サブクエリの使用中にEvery derived tableに独自の別名が必要というエラーが発生しました.
サブクエリに別名(名前)が指定されていないためです.
SELECT * FROM ( SELECT * FROM table )subtable
問題を見て最初に聞いた考えはmax、minを求めるテーブルを作ることです.
だから次のように近づいた.
SELECT city, char_length(city) FROM station as a,
(
SELECT MIN(char_length(city)) as mini,
MAX(char_length(city)) as maxi from station
) as m
WHERE char_length(city) = m.maxi
OR char_length(city) = m.mini
ORDER BY city
ここまでminmaxは別々に照会されますが、アルファベット順に1つ表示するにはどうすればいいか分かりません最終的には快適な方法で回転します
maxとminでクエリーして表を貼り付けます
SELECT city, char_length(city) as lengths FROM station
GROUP BY city
ORDER BY lengths, city
LIMIT 1;
SELECT city, char_length(city) as lengths FROM station
GROUP BY city
ORDER BY lengths DESC, city
LIMIT 1;
どの方法が適当かはわかりませんが、最初の方法では何を書くか分かりませんReference
この問題について([SQL Runday] HackerRank Weather Observation Station 5), 我々は、より多くの情報をここで見つけました https://velog.io/@honeybeat1/SQL-Runday-HackerRank-Weather-Observation-Station-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol