mysql:13430
From: "Hiroshi Kabayama" <"Hiroshi Kabayama" <kaba@xxxxxxxxxx>>
Date: Thu, 26 Oct 2006 16:34:10 +0900
Subject: [mysql 13430] Re: レコード件数0をカウントしたい
こんにちははじめまして。樺山と申します。 実際にサンプルで記載されているテーブルを作成し 下記SQL文を実行したところ予想通りの結果が取れました。 SELECT syain.no, syain.name, COUNT(data.no) FROM syain LEFT JOIN data ON syain.no = data.no GROUP BY data.no LEFT JOINすることにより、syainテーブルが主となる為 0件でも出力されるようになります。 ----- Original Message ----- From: "F.Yamazaki" <fumihiko@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Thursday, October 26, 2006 4:17 PM Subject: [mysql 13429] レコード件数0をカウントしたい > はじめまして。 > まだ始めたばかりで、いろいろ試してみたのですが解決できませんでした。 > 皆さんの知識をお借りできればと思います。 > MySQL 4.0.26の環境でやっています。 > > Table:syain Table:data > +----+------+ +----+------+ > | no | name | | no | etc | > +----+------+ +----+------+ > | 1 | 山田 | | 1 | AAAA | > | 2 | 佐藤 | | 3 | BBBB | > | 3 | 山本 | | 1 | CCCC | > | 4 | 吉田 | | 4 | DDDD | > +----+------+ | 3 | EEEE | > +----+------+ > > この2つのテーブルから、syainに登録されている各人についてdataから件数(レコード数)を > カウントしたいのです。 > > SELECT `syain`.`no`,`syain`.`name`,COUNT(`data`.`no`) FROM `syain`,`data` > WHERE `syain`.`no` = `data`.`no` ROUP BY `data`.`no` > > ここまではたどり着いたのですが、結果は > > +----+------+---------------------+ > | no | name | COUNT(`data`.`no`) | > +----+------+---------------------+ > | 1 | 山田 | 2 | > | 3 | 山本 | 2 | > | 4 | 吉田 | 1 | > +----+------+---------------------+ > > で、カウント0の佐藤さんはリストされません。 > > +----+------+---------------------+ > | no | name | COUNT(`data`.`no`) | > +----+------+---------------------+ > | 1 | 山田 | 2 | > | 2 | 佐藤 | 0 | > | 3 | 山本 | 2 | > | 4 | 吉田 | 1 | > +----+------+---------------------+ > > のように、0でもリストさせたいのですが、良い方法はありますでしょうか。 > よろしくお願いします。 > > ------------------ > From:山崎文彦 > > >
13429 2006-10-26 16:17 ["F.Yamazaki" <fumihi] レコード件数0をカウントしたい -> 13430 2006-10-26 16:34 ┗["Hiroshi Kabayama" <] 13431 2006-10-26 16:52 ┣["F.Yamazaki" <fumihi] 13477 2006-11-12 11:55 ┗["F.Yamazaki" <fumihi] 13478 2006-11-12 12:23 ┗[SAKAI Kei <sak2@xxxx] 13479 2006-11-12 13:23 ┗["F.Yamazaki" <fumihi]