progate proffetionalのSQL > 機能追加の結果を測ろう > 道場 > 2.平均お気に入り登録数を取得しよう

はじめに

機能追加の結果を測ろう | プログラミングの入門なら基礎から学べるProgate[プロゲート]の道場編をやっていく。

道場編

全部で4つ

タスク分割

今後の仕事でも困難を分割していきたい。

以下のように

「平均お気に入り数を登録しよう」をさらに分割する必要があれば、行なっていく。

平均

平均について確認しておこう。

1, 3, 5の平均は、(1+3+5) / 3 = 3。

合計の値を総数で割ると、平均を算出できる。

SQLのAVG関数

SELECT AVG(カラム名) FROM テーブル名;

例えば、以下のようなemployeeテーブルがあるとしよう。

employee_idage
120
230
340

SELECT AVG(age) FROM employee; を行うと、以下の出力結果となる。

AVG(age)
30

SQLのCASE文

SELECT
 カラム名,
 CASE
  WHEN 条件1 THEN 値1
  WHEN 条件2 THEN 値2
  ELSE デフォルト値
 END AS 新しいカラム名
FROM テーブル名;

以下の例で考えてみよう。

employee_idage
122
235
341

以下のクエリを実行すると、

SELECT
 employee_id,
 age,
 CASE
  WHEN age < 30 THEN '20代以下'
  WHEN age BETWEEN 30 AND 39 THEN '30代'
  WHEN age BETWEEN 40 AND 49 THEN '40代'
  ELSE '50代以上'
 END AS age_group
FROM employee;

以下の結果が得られる。

employee_idageage_group
12220代以下
23530代
34140代

SQLのCOUNT

SELECT COUNT(*) AS employee_count
FROM employee; 

上記のSQLを実行すると、employeeテーブルに30人の社員がいれば、以下の結果が得られる。

employee_count
30

色々と基礎知識を確認してみたが、なかなかクリアーできない

基礎知識を組み合わせて、応用を効かせる。

それができれば苦労はしない。

「今やっていることは何か?」を説明できるように

現状の理解が前に進むために大事だ。

そして、それを人に説明できるレベルまで解像度を高めておく。

小さく試す

一度にゴールまで行くことは不可能。

できることをコツコツと積み上げていった先にゴールが見えてくる。

過去のレッスンを見返す

これまでにクリアーしたレッスンの知識をしっかりと確認して、そこからヒントを得よう。

英語を学ぶ時は日本語をなるべく見ない

これは高校生の頃の英語教師が熱弁していたこと。

英語の授業なのに、和訳を見てしまっている。

だから英語のスキルが伸びないという理論。

英語を書き写すことをメインにすれば、英語力が徐々に伸びていく。

そのやり方を愚直に継続していった結果、センター試験では190点を獲得することができた。

SQLの勉強でも

SQLでは、テーブルとSQL文の2つを見るようにすれば、時間はかかっても実力がついていくだろう。

忍耐強く取り組むことが何よりも大事。

ChatGPTに相談しながら進めていく

自分の実力不足を認めて、GPTを有効活用しよう。

やりたいことやわからないことを明確にするのも意外と難しい。

それを明確にしていくトレーニングを継続する。

クリアーした

GPTに相談して、解決策を導き出すことができた。

学習はこれで終わらない。

知識として自分の中に身についていることを増やさなければならない。

そうしなければ、実務で応用不可能だ。

今回足りなかった知識

サブクエリの知識が足りなかった。

今回活用できた知識

SELECT文、GROUP BY、COUNTの計算、AVGを活かすことができた。

GPTを使用したプロンプトエンジニアリングができたとも言える。

進捗記録

完了日を記入することで、やる気を保っていこう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です