FC2ブログ

集計クエリー(その3)

前回に引き続き集計クエリーの演習をします。

1.成績表テーブルの学期毎に各学科の平均点を求める。但し、Nullは0点とみなす。

 学期毎の平均点

まず学期でグループ化します。データ中にNULL値が混在していると計算できないので、nz関数を用いて0に変換します。その上でavg関数を用いて平均を求めます。

以下が結果となります。

学期毎の平均点(結果) 

2.成績表テーブルの学期毎に各学科の最高点を求める。

学期毎の最高点

1.と同様まず学期でグループ化します。集計欄を「最大」にして最高点を求めます。

以下が結果となります。

学期毎の最高点(結果) 

3.成績表テーブルの1学期の国語の最高点を取った人の名前を表示する。

国語の最高点 

まずは抽出条件欄に「1」を設定し、国語の点数の降順に並べます。これで国語の点数の高い順に並びますが、最高点の人のみ表示するには「トップ値」プロパティを「1」に設定します。更に氏名を表示するために名簿テーブルと連結して「氏名」を抽出します。「トップ値」プロパティはACCESS独自の機能で「トップ5%」等の設定も可能です。

以下が結果となります。

国語の最高点(結果) 

4.成績表テーブルの学期毎の各学科の受験者数を求める。

学期毎学科毎の受験者数

学期でグループ化し、各学科毎の「カウント」を取るとNULLデータは集計値に含まれません。従って、未受験者は対象外となります。

以下が結果となります。

学期毎学科毎の受験者数(結果) 

5.成績表テーブルの1学期の受験者数を求める。

1学期の受験者数 

1学期で抽出し、レコードの件数自体をカウントしたい場合はCount関数を使ってCount(*)とします。Count([国語])とした場合はNULLデータがはじかれるので18件となります。

以下が結果となります。

1学期の受験者数(結果) 

次回では注文書テーブルを使い、更に複雑な集計クエリーに挑戦してみましょう。クエリーの習得するためには数をこなす事が大切です。

関連記事
スポンサーサイト



テーマ : データベース
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
全記事表示リンク

全ての記事を表示する

月別アーカイブ
カテゴリ
お問い合わせ
まずはこちらのフォームより御一報下さい。

名前:
メール:
件名:
本文:

検索フォーム
RSSリンクの表示
アクセスランキング
[ジャンルランキング]
コンピュータ
560位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
80位
アクセスランキングを見る>>
ブログランキング

FC2Blog Ranking