• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQL文について)

MYSQL文について

このQ&Aのポイント
  • MYSQLでPLAYERS表とRESULTS表を作成するためのSQLを教えてください。
  • RESULTS表からスコアが72以下の行を取り出し、大会ID、選手ID、スコアを表示する。
  • RESULTS表を対象に、選手ごとに選手ID、大会の参加数、スコアの平均を表示する。

質問者が選んだベストアンサー

  • ベストアンサー
  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.1

(1)「(SCORE)が72以下の行を取り出す」には、SELECT構文のWHERE句に比較演算子(<=)を使用します。 また、「スコア(SCORE)の昇順に表示する」には、ORDER BY 列名 ASCを使用します。 (1)のSQL文は以下です。 SELECT GID,PID,SCORE FROM RESULTS WHERE SCORE <= 72 ORDER BY SCORE ASC; (2)「集合関数COUNR(*)」ではなく、「COUNT(*)」ですよね? (2)のSQL文は以下です(各PIDごとにSELECTしています)。 SELECT PID,COUNT(*),AVG(SCORE) FROM RESULTS WHERE PID='M001'; SELECT PID,COUNT(*),AVG(SCORE) FROM RESULTS WHERE PID='M002'; SELECT PID,COUNT(*),AVG(SCORE) FROM RESULTS WHERE PID='M003'; (3)のSQL文は以下です。 SELECT RESULTS.GID,PLAYERS.PNAME,RESULTS.SCORE FROM PLAYERS,RESULTS WHERE RESULTS.SCORE <= 72 ORDER BY PLAYERS.PNAME ASC; SQLはデータベースに対して、ただデータを抽出するだけでなくSQL関数を用いたり様々なことが行えます。 と言う私もSQLを完璧に扱える訳ではありませんが・・・。 SQLを勉強されたいのであれば、参考書等でしっかり覚えた方が良いですよ。

関連するQ&A