見出し画像

未経験から優秀エンジニアを目指す24歳の成長ストーリー(12)

こんばんは。
本日の振り返りです。

本日はSQLの100本ノックを行いました。
学んだこと集。

* 末尾が数字の1〜9で終わる:~’[1-9]$’
* 先頭がアルファベットのA〜Fで始まる:~ '^[A-F]'
* 先頭がアルファベットのA〜Fで始まり、末尾が数字の1〜9で終わるデー タ:~'^[A-F].*[1-9]$'
* 3桁-3桁-4桁のデータ:'^[0-9]{3}-[0-9]{3}-[0-9]{4}$'
* 昇順:ORDER BY カラム でカラムを並び替え ASC:昇順
* 降順:ORDER BY カラム でカラムを並び替え DESC:降順
* まず、ORDER BY amount DESCで売上金額を降順に並べる
* 次に、売上金額を基準にした場合の順位をRANK()で取得する
* RANK:同率があった場合順位は同じになり、その次の順位を飛ばす
* DENS_RANK : 同率があった場合順位は同じになり、その次の順位は飛ばさない
→1件あたりの売上金額(amount)が高い順にランクを付与し、先頭10件を抽出せよ。項目は顧客ID(customer_id)、売上金額(amount)、付与したランクを表示させること。なお、売上金額(amount)が等しい場合は同一順位を付与するものとする
→→SELECT customer_id, amount, RANK() OVER(ORDER BY amount DESC) AS ranking
* ROW_NUMBER : 同率があっても同じ順位にはならず、順位をその場合のみランダムでカウント
→1件あたりの売上金額(amount)が高い順にランクを付与し、先頭10件を抽出せよ。項目は顧客ID(customer_id)、売上金額(amount)、付与したランクを表示させること。なお、売上金額(amount)が等しい場合でも別順位を付与すること。
→→→SELECT customer_id, amount, ROW_NUMBER() OVER(ORDER BY amount DESC) AS ranking

プロゲートだけでは詳しく学べなかった内容でも、実践に近い形で学ぶことで学べることは多くあるなと感じました。

また、まだまだ学び途中ではありますが、頑張ろうと思います。
今の問題点は、ググり力のところです。
今は答えがあるため最終答えをみて理解することができますが、いざ実践になったときに厳しくなると思うので、今の正解がしっかりわかる状態の時にトライ&エラーをし続けたいと思います。

以上です。

この記事が気に入ったらサポートをしてみませんか?