0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQLを理解するときの練習と考え方

0
Posted at
# SQLで「新しい数値」を作るときの考え方

SQLは書けるけれど、

- 「どのような数値を作ればいいのか分からない」
- 「どんな計算式にすればいいのか分からない」
- 「データをどう見ればいいのか分からない」

という悩みを持つ人は非常に多いです。

ですが結論から言うと、新しい数値は難しくありません。

---

# 結論

👉 **既存データを「どう変換・組み合わせるか」を定義するだけ**

---

# 基本フレーム(最重要)

新しい数値は必ずこの形になります。

```text
新しい数値 = 集約(加工(元データ))

① まず分類する(ここが最重要)

新しい数値はこの4パターンしかありません。


① 集約(Aggregation)

  • 売上合計
  • 平均単価
  • 最大値
  • 最小値

使用関数

SUM()
AVG()
MAX()
MIN()

② 比率(Ratio)

  • 利益率 = 利益 ÷ 売上
  • 達成率 = 実績 ÷ 目標

イメージ

割合を出す

③ 差分(Difference)

  • 原価差異 = 実績 − 目標
  • 前月比 = 今月 − 先月

イメージ

差を比較する

④ 分解・再構成(Conditional / 分類)

  • 実績だけ合計
  • 特定カテゴリだけ抽出

使用技術

CASE WHEN

② 次にやること(設計)

SQLを書く前に、必ずこの順番で考えます。


STEP1:目的を決める

部品ごとの原価差異を出したい

STEP2:粒度を決める

年月 × 部品番号

STEP3:元データを確認する

年月
部品番号
カテゴリ
金額

STEP4:日本語で計算式を書く

原価差異 = 実績の合計 − 目標の合計

STEP5:SQLに変換する

SELECT
  年月,
  部品番号,
  SUM(CASE WHEN カテゴリ = '実績' THEN 金額 ELSE 0 END)
  -
  SUM(CASE WHEN カテゴリ = '目標' THEN 金額 ELSE 0 END)
  AS 原価差異
FROM cost_table
GROUP BY
  年月,
  部品番号

③ もう一段レベルを上げる考え方

「分解 → 再構成」

複雑な指標は、全部これです。


例:利益率

まず利益率を考えます。

利益率 = 利益 ÷ 売上

ですが、利益というカラムがない場合があります。

その場合は分解します。

利益 = 売上 − 原価

つまり:

利益率 = (売上 − 原価) ÷ 売上

つまり重要なのはこれ

👉 1回分解してから再構成する


④ よくある失敗(重要)


❌ いきなりSQLを書く

結果

100%詰まる

❌ 1行で全部やろうとする

結果

デバッグ不能

❌ 粒度を考えていない

結果

値がズレる

⑤ 実務で使うテンプレ

新しい数値を作るときは、まずこれを書いてください。

【目的】
何を知りたいか

【粒度】
どの単位で出すか

【元データ】
使うカラム

【分解】
どう分けるか(実績/目標など)

【計算式】
日本語で

⑥ 今の自分に必要なこと

今の状態:

SQLは書ける
↓
でも「式を設計できない」

必要なのはこれです。

計算を“分解して考える力”

⑦ トレーニング(かなり効果あり)

毎日これをやるだけでもかなり変わります。


問題

「売上の前年比を出せ」


まず設計を書く

【目的】
前年比

【粒度】
年月 × 商品

【元データ】
年月
商品
売上

【分解】
今年の売上
去年の売上

【計算式】
前年比 = 今年 ÷ 去年

そのあとSQLを書く

SELECT
  年月,
  商品,
  SUM(今年売上) / SUM(去年売上) AS 前年比
FROM sales
GROUP BY
  年月,
  商品

まとめ(核心)

新しい数値は難しくありません。

重要なのは:

既存データを分解して、再構成すること

です。


最後に

SQLが書けるだけでは、実務では足りません。

本当に重要なのは:

  • 何を知りたいのか
  • どの粒度で見るのか
  • どのデータを使うのか
  • どう分解するのか

を整理して考えることです。

SQLは、その設計を実装するための「道具」に過ぎません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?