
重複データを除いてカウントしたい
お世話になります。
PHP+MySQLでWEBサイトを作ろうとしている者です。
どうしても自分ではわからないことがあって質問いたします。
以下ような2つのテーブルがあり、
レンタルした顧客の都道府県が
月別にカウントされるようにしたいと考えています。
テーブルA(顧客情報)
顧客名 都道府県
(name) (prefec)
Aさん 東京都
Bさん 千葉県
Cさん 神奈川県
Dさん 東京都
Eさん 千葉県
テーブルB(レンタル・レンタル品目情報)
顧客名 期間(開始月・返却月) レンタル品目
(name) (start)(end) (item)
Aさん(東京) 1月 6月 自動車
Aさん(東京) 1月 6月 オートバイ
Aさん(東京) 2月 6月 チャイルドシート
Bさん(千葉) 3月 5月 自動車
Bさん(千葉) 3月 5月 チャイルドシート
Cさん(神奈川) 1月 2月 自動車
Cさん(神奈川) 2月 3月 オートバイ
Dさん(東京) 2月 4月 自動車
Eさん(千葉) 3月 6月 オートバイ
想定する結果は
1月は
東京(1人) 千葉(0人) 神奈川(1人)
2月は
東京(2人) 千葉(0人) 神奈川(1人)
3月は
東京(2人) 千葉(2人) 神奈川(1人)
となります。
品目数であれば以下の式でカウントできるのですが、
顧客数をカウントしようとすると重複が発生して
うまく顧客数だけに結果を導くことができません。
SELECT prefec,COUNT(name) AS cnt FROM tbla
INNER JOIN tblb USING(name)
WHERE (指定月 BETWEEN start AND end)
GROUP BY prefec
参考までに上の式では
1月は
+----------+-----+
| prefec | cnt |
+----------+-----+
| 東京都 | 2 |
| 神奈川県 | 1 |
+----------+-----+
2月は
+----------+-----+
| prefec | cnt |
+----------+-----+
| 東京都 | 4 |
| 神奈川県 | 2 |
+----------+-----+
3月は
+----------+-----+
| prefec | cnt |
+----------+-----+
| 千葉県 | 3 |
| 東京都 | 4 |
| 神奈川県 | 1 |
+----------+-----+
となります。
この場合、どのような式にしたら想定する結果が導き出せるのでしょうか。
よろしくご教授をお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
結合したテーブルをSUMしたい
-
ExcelのVLOOKUP関数の動作をMyS...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
ADO+ODBCでテーブルに接続する...
-
同一テーブル内での比較(最新...
-
ExcelのMatch関数のようなもの...
-
DB2のSQLコマンドについて
-
異なるテーブルの値を比較テー...
-
MS-AccessからODBCデータベース...
-
SQLiteでソートした結果をファ...
-
テーブル名が可変の場合のクエ...
-
Win版ApacheでAccessのクエリー...
-
マイクロソフトアクセスとSQLサ...
-
ACCESS クエリーでソートの不具合
-
フィールド内のデータの増加に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLサーバに対するSQL文で抽出...
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
結合したテーブルをSUMしたい
-
副問合せを使わずにUNIONと同様...
-
テーブル名が可変の場合のクエ...
-
2つのテーブルをLIKE演算子のよ...
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
PRIMARY KEYのコピー
-
ADO+ODBCでテーブルに接続する...
-
ACCESSのVBAにてExcelに行...
-
同一テーブル内での比較(最新...
-
(SQL)日数の計算
-
ExcelのVLOOKUP関数の動作をMyS...
-
データ無し時は空白行にしたい...
-
必要なテーブルの個数について。
-
複数選択か?単数選択か? テ...
おすすめ情報