Accessでお仕事 レコード 重複行を除いて件数をカウントする(パソコン便利ツール集)

レコード 重複行を除いて件数をカウントする


 ここでは、テーブルの項目に重複が有る場合のカウント方法を紹介します。

 事例として、インポートして作った、Orderテーブルから、「得意先」別の「商品」点数をカウントします。

 テーブル処理で、得意先別の商品別に並び替えてみましょう。

 「得意先」「商品」では重複行があります。
 まず、「得意先」「商品」を、重複無く抽出するクエリ「商品の重複削除」を作ります。

SELECT DISTINCT Order.得意先, Order.商品
FROM [Order];
 クエリ「商品の重複削除」を使って、カウント・クエリを作ります。

SELECT 得意先・商品の重複削除.得意先, Count(得意先・商品の重複削除.商品) AS 商品のカウント
FROM 得意先・商品の重複削除
GROUP BY 得意先・商品の重複削除.得意先;
注:  Access の Jet SQL では、上のように2段階の処理が必要です。
 商品 だけのカウントの場合は、下記が使えます。
SELECT Count(*) FROM (SELECT DISTINCT 商品 FROM Order);

http://www.accessclub.jp/bbs3/
0440/superbeg129517.html

http://jehupc.exblog.jp/9773665/
http://detail.chiebukuro.yahoo.
co.jp/qa/question_detail/
q1040755270


 無償の DBMS の一つの IBM DB2 Express-C では、集計関数の引数に DISTINCT キーワードが使えるので、下のように一発で集計できます。

SELECT 得意先, Count(DISTINCT 商品) AS 商品のカウント
FROM [Order];


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る