LoginSignup
0
2

More than 1 year has passed since last update.

SQL WHERE句で集約関数を使う

Last updated at Posted at 2021-07-31

Every Qiita #26
のんびり独学初学者投稿 26日目
今回は・・・
sqlの基本を復習した時の備忘録です。

指定カラムの平均値よりも高いレコードを選択したい

ポートフォリオ作成の中で上記のようなデータのみを取得したい時に少しはまったのでメモ程度に残しておきます。
データはサンプルとして下記のような状態とします。

stationeryテーブル

name price
鉛筆  100
ハサミ  200
ホッチキス  250
クレヨン 400
消しゴム 180
のり 170
ノート 300

この中から平均金額より高い文房具のみを取得します。
「平均値を出してwhereで絞り込めばいいんだね。了解。」

SELECT name, price FROM  stationery WHERE price > AVG(price);

・・・エラーなんだが。なんで?
->あ、WHEREに集合関数は使えないです・・・:cry:

そんなときにサブクエリを使ってみましょう!

SELECT name, price FROM  stationery WHERE price > (SELECT AVG(price) FROM stationery);
name price
ホッチキス  250
クレヨン 400
ノート 300

単一の値を取得する(今回は平均金額)場合のサブクエリをスカラ・サブクエリというみたいです。
SQLの理解浅すぎますね・・・頑張ります!

0
2
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
2