mysql:12321
From: nomoto <nomoto <shin-1@xxxxxxxxxx>>
Date: Sat, 29 Oct 2005 14:20:27 +0900
Subject: [mysql 12321] Re: FW: Re: 複合の集計?
こんにちは。nomotoです。 >早速両方試してみたのですが、 >何とも動きません。 >MySQLのバージョンは、3.23でした。 3系であればサブクエリが使えませんのでJOINのほうですね。 MySQLで、ただjoinと書くとエラーになるようですね。 inner join に修正したら動くようです。 (データベース毎の方言が頭の中で混乱中;) また、join条件のAidという項目は、両方のテーブルで同じ 名前なので、on (xxx=xxx)という書き方でなく、簡単に using (xxx) という書き方もできます。 >$sql = "select * from テーブル-2 where Aid='$arr[purch_id]' group by g_id"; >とすると、何も出なくなります。 >g_idをKEYにすると、同じ値が複数ある為にだめなのでしょうか? group by で集約してるなら、* ではなく集約キーとなったg_idと 集約した結果を得るための関数だけを書かないといけませんね。 select g_id, count(*) みたいな感じで。 joinを使った方法で1つのSQLで条件絞込みから集約までできます ので、以下のような感じで、大丈夫だと思いますよ。 $psql = "select g_id, count(g_id) as cnt from テーブル-2"; $psql .= " inner join テーブル-1 using (Aid)"; $psql .= " where date>='$bkday' and date<='$today'"; $result = $db_query->Db_Query_NVoid($db_name, $conn, $psql); for($i=0;$i<mysql_num_rows($result); $i++) { $arr = mysql_fetch_array($result); $gid = $arr['g_id']; $cnt = $arr['cnt']; }
12320 2005-10-29 11:54 ["KIYOSE" <kiyose@xxx] FW: Re: 複合の集計? -> 12321 2005-10-29 14:20 ┗[nomoto <shin-1@xxxxx]