私はこの課題を解決しようとしています(最終的な解決策を求めていません)! https://www.hackerrank.com/challenges/weather-observation-station-5?h_r=next-challenge&h_v=zenSQL - ORDER BY結果が返されない
最初のステップ - ROWNUMBER = 1よりも使用する長さでソートされた都市、長さ(都市)のリストを返したいとします。
最短名前の都市を選択するには:
私のコードは次のとおりです。
SELECT DISTINCT city, LENGTH(city) FROM station ORDER BY LENGTH(city) ASC;
私はな長さでソートするが、それは都市によってソートされた結果を期待していました。私が
に変更した場合SELECT DISTINCT city, LENGTH(city) FROM station ORDER BY city DESC;
まだASC順にソートされています。
私は間違っていますか? EDIT:またはそれはページの問題です。動作しません。 ありがとう
あなたの最初のクエリはうまくいくはずです。 (しかし、私は 'SELECT DISTINCT city、LENGTH(city)len ASCOM station ORDER BY len ASC; ')を実行します。 – jarlh
私のページに問題があるように見えます。最初のクエリには何も問題はありません。 – GarethD
私はGordonのバージョンを使用する傾向がありますが、 'DISTINCT'を使うときには' LEN'関数がすべての行で呼び出され、重複が削除されますが、 'GROUP BY'を使用するときは重複が最初に除去され、 '関数が残りのレコードに対して呼び出されます。 'LEN'のようなオーバヘッドが非常に小さいものや、括弧の数によっては、これはかなり簡単な最適化ですが、他の機能(特にユーザ定義)や重複が多いデータの場合、これはもっと重要です。 – GarethD