mysql:2345
From: (遠藤 俊裕) <<endo@xxxxxxxxxx>>
Date: Fri, 04 Aug 2000 14:49:43 +0900
Subject: [mysql 02345] 集計のクエリーの書き方
遠藤です。 お教えください。 以下のようなテーブルがあるとします。 mast [create table mast ( code integer, point integer, name char (10)) ] code: integer; point: integer; name: char(10); tran [create table tran ( code integer, check char(1)) ] code: integer; check: char(1); ここでデータが以下のようになっています。 mast 1, 10, aaa 2, 20, bbb 3, 30, ccc tran 1, 0 1, 0 1, 1 1, 1 2, 1 3, 0 3, 0 この状態で結果を aaa, 10, 4, 40, 2, 20 bbb, 20, 1, 20, 1, 20 ccc, 30, 2, 60, 0, 0 としたいのですが、どうすれば良いのでしょうか? 要するにチェック項目によって内数をカウントしたいのです。 以下の SQL で aaa, 10, 4, 40 bbb, 20, 1, 20 ccc, 30, 2, 60 とは出来たのですが、これ以上、どうしてもわかりません。 SELECT mast.name, mast.point, COUNT(mast.name), SUM(mast.point) FROM tran LEFT JOIN mast ON mast.code=tran.code GROUP BY mast.name, mast.point ORDER BY mast.name 出来るだけ方言を使わずに SQL のみの機能で何とかならないものかと 悩んでおります。SQL を数本使ってテンポラリテーブルを作るのでも 最悪構いません。その場合は効率の良い方法を知りたいです。 よろしくご教授ください。m(_ _)m
-> 2345 2000-08-04 14:49 [<endo@xxxxxxxxxx> ] 集計のクエリーの書き方 2346 2000-08-04 15:56 ┗[とみたまさひろ <tomm] 2352 2000-08-05 22:47 ┗[<endo@xxxxxxxxxx> ]