[プログラマーSQLハイスコアKit]養子縁組の視点を得る(1)(MySQL)


1.問題の説明



問題は、
  • 09:00から19:59まで、各時点(HOUR)で何回養子縁組が発生したかを調べることです.
  • SQL文を実行する場合、データは次のようになります.
  • 2.関連概念

  • WHERE:
    https://velog.io/@developerkerry/MySQL-WHERE
  • ORDER BY:
    https://velog.io/@developerkerry/MySQL-ORDER-BY
  • GROUP BY:
    https://velog.io/@developerkerry/MySQL-GROUP-BY
  • AS:
    https://velog.io/@developerkerry/MySQL-AS
  • 3.正解と解答

  • GROUP BYを使用して、時間単位でデータをグループ化します.
  • SELECT HOUR(DATETIME) FROM ANIMAL_OUTS GROUP BY HOUR(DATETIME);
  • 時間の養子縁組数を現場リストに追加する必要がある.
  • SELECT HOUR(DATETIME), COUNT(ANIMAL_ID)
    FROM ANIMAL_OUTS
    GROUP BY HOUR(DATETIME);
    養子縁組件数は
  • 09:00~19:59の間で時間単位で印刷することが要求されるため、WHERE文を用いて条件を設定する必要がある.
  • SELECT HOUR(DATETIME), COUNT(ANIMAL_ID)
    FROM ANIMAL_OUTS
    WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
    GROUP BY HOUR(DATETIME);
  • の結果を期間ごとにソートする必要があります.
  • SELECT HOUR(DATETIME), COUNT(ANIMAL_ID)
    FROM ANIMAL_OUTS
    WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
    GROUP BY HOUR(DATETIME)
    ORDER BY HOUR(DATETIME);
  • Columnの名前をサンプル出力の名前と同じにし、AS文を使用して名前を付けます.
  • SELECT HOUR(DATETIME) AS HOUR, COUNT(ANIMAL_ID) AS COUNT
    FROM ANIMAL_OUTS
    WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
    GROUP BY HOUR(DATETIME)
    ORDER BY HOUR(DATETIME);