SQL4 択難易度 標準

注文したことのあるユーザーの人数を出したい。空欄に入るものは?

SELECT COUNT(____) AS nFROM orders;

正答

  1. user_id
  2. DISTINCT user_id
  3. *
  4. user_id DISTINCT

解説

orders は 1 注文 1 行なので、同じユーザーが何度も注文していれば user_id が重複する。人数を数えるには COUNT(DISTINCT user_id) で重複を除いてから数える。COUNT(user_id) と COUNT(*) はどちらも注文の件数になり、人数より多くなる。DISTINCT は列の前に置くキーワードなので、user_id DISTINCT の順では構文エラーになる。

参考: www.sqlite.org

countdistinctaggregate

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ