• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【mySQL】会計履歴から来店時点の来店回数を調べ)

mySQLで会計履歴から来店時点の来店回数を調べる方法

このQ&Aのポイント
  • 新しいフランスパンの開発のために、過去のフランスパンの購入者情報を調べる方法について教えてください。
  • 購入者と購入日、商品、購入時点での来店回数を取得したいです。
  • 現在のSQLは購入者でGROUP化してSUM(来店フラグ)していますが、ほしい形にならないので、どのようなSQL文にすれば良いか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Select *, ( select count(会計id) from 会計履歴テーブル as kaikei2 where kaikei2.購入者= kaikei1.購入者 and kaikei2.購入日<= kaikei1.購入日 and kaikei2.来店フラグ= 1 ) as 来店累計回数 From 会計履歴テーブル as kaikei1 Where kaikei1.商品名 IN ('フランスパン(ハード系)', 'フランスパン(ソフト系)') and kaikei1.来店フラグ = 1;

oktksa
質問者

お礼

muuming2001様 ご回答ありがとうございます。 これです!欲しい情報がとれました。 さすがです。ありがとうございます!! カラムにSELECT文が使えるなんて知りませんでした。。。 もっと勉強します。

oktksa
質問者

補足

これは、相関サブクエリってものでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

最終的にどんな表にしたいのかイマイチ不明かと思います。 来店回数とは何でしょうか? 00004|2015/4/15|Bさん|フランスパン(ハード系)|2回 00010|2015/5/13|Bさん|フランスパン(ソフト系)|4回 なぜ2回と4回に? 来店フラグって何も見ない? >>ほしい形になりません。 最終的にほしい形を途中経過無しに、言葉で書いていただいたほうがわかり良いかも?

oktksa
質問者

お礼

回答ありがとうございます。 すみません。言葉足らずで申し訳ないです。 定義としては ・来店回数は、フランスパンを買った時点での、初回来店からカウントしてそのお客様がお店にいらした回数です。 ・来店フラグは、1が「来店あり」で、0が「来店なし」です。 2回と4回になる理由としては、フランスパン購入時点ごとに初回来店から来店ありの会計数をカウントしています。 例えば、Bさんは、 2015/4/15に、フランスパン(ハード系)を 2015/5/13に、フランスパン(ソフト系)を 買っています。 会計履歴テーブルを見ると、 Bさんは 2015/4/15にフランスパンを買った時点では 2015/4/1に食パンを買いにきてくださっているので 2回目の来店となります。 同様に 2015/5/13にフランスパンを買った時点では 4/1の初回来店からカウントして5回の会計がありますが 5/10の来店フラグが0(来店なし)なので、4回の来店となります。 最終的にほしいのは、フランスパンを購入した 購入者、購入日、商品名、購入時点での来店した回数です。 購入者の重複があっても構いません。 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マイクロソフトのアクセスでいくつかのデータと組み合わせて、

    マイクロソフトのアクセスでいくつかのデータと組み合わせて、 数値を並べたり、○×をつけることは可能でしょうか? アクセス初心者です。 もし分る方がいたら教えていただきたいです。 (1)【3月の来店者】 Aさん Bさん Cさん Dさん (4)【3月のA購入者】 Aさん Cさん Dさん (5)【3月のB購入者】 Cさん Dさん (6)【来店者の来店回数】 Aさん 1 Bさん 4 Cさん 7 Dさん 2 上記データを使って下記のようなデータベースを作りたいと考えています。 来店者 A購入 B購入 来店回数 Aさん ○ × 1 Bさん × × 4 Cさん ○ ○ 7 Dさん ○ ○ 2 (1)来店者から(2)Aを買った人の抽出や (1)来店者の(4)来店回数を出すのは 選択クエリを使いだすことができたのですが このようにすべての来店者のデータをリスト化することは可能でしょうか? すべてのデータ抽出後にIF関数などを使いエクセルでなら行えるかもしれないのですが データが180万行あるのでアクセス内で行えたら嬉しいです。 説明がわかりにくくて申し訳ないです。。。 もし分る方がいたら助けていただきたいです。 宜しくお願いいたします。

  • ホームベーカリーでハード系の食パンを焼きたいです。

    ホームベーカリーでハード系の食パンを焼きたいです。 パン屋さんの食パンにはパンドミーやイギリスパン等のハード系がありますが、大きな違いはどういう点でしょうか? フランスパンが食パン型になったのがパンドミーですか? また、材料を調べてからホームベーカリーでこれらの食パンを焼く場合、食パンコースよりもフランスパンコースのほうが良いですか?

  • フランス食パン

    最近ハード系(?)のパンにはまっています。とても気に入ってよく購入しているのが、イオンショッピングセンター内にあるパン屋さんの「ルヴァン」という食パンです 家族で毎日食べるので消費量がとても多く、費用もかさみます 美味しいのでたくさん食べたい(食べさせたい)ので、同じようなものが自分で作れないか考えています 食感としては皮はフランスパン、中はもっちり。ちょっと塩気の効いた感じの味わいで、私は勝手にフランス食パンと命名しています できれば自動で食パンを作ることのできる機械でできればと考えています ご存知の方がいらっしゃればぜひ教えてください!

  • Access select句でのサブクエリ

    Access2010でのサブクエリについてお教えください。 注文テーブル 商品コード,数量,フラグ A,3,x B,2,x C,1,x A,3,y B,4,y C,3,y このようなテーブルがあります。 SELECT 商品コード,数量 FROM 注文テーブル GROUP BY 商品コード A,6 B,6 C,4 やりたい事はフラグがxの数量も表示たいと思っています。結果としては、下記の結果が欲しいです。 A,6,3 B,6,2 C,4,1 select句でサブクエリを作りました。 SELECT 商品コード,数量,(SELCT 数量 FROM 注文テーブル WHERE フラグ='x' GROUP BY 商品コード) FROM 注文テーブル GROUP BY 商品コード しかしこのコードを実行すると、「このサブクエリでは1つのレコードしか返せません」と表示されます。 どこを修正したら正しいデータを取得することができるでしょうか?

  • 天然酵母のパン

    干しぶどうから天然酵母を起こしてパンを焼いています。 食パンはまあまあおいしく焼ける様になりました。 今度はハード系のパンを焼いてみたいのですが、天然酵母を使ったハード形のパンのレシピがなかなか見つかりません。知っている方か、もしくはサイトをご存知の方がいらっしゃいましたら教えてください。お願いいたします。ハード系は、フランスパンや、ライ麦パンなどなど・・・よろしくお願いいたします。

  • 商品Aと商品Bを購入したユーザーの取得

    こんにちは! 現在以下の状態でのsql作成に悩んでいます。 テーブルユーザー uid name 1 test1 2 test2 3 test3 購入履歴 id uid item 1 1 商品A 2 1 商品B 3 2 商品B 4 3 商品A 5 3 商品C の様なテーブルから商品Aと商品Bを購入した ユーザーのみを抽出したいと考えています。 恥ずかしながら見当も付かない状態です。 ポインタだけでも結構ですので ご教示頂けますようよろしくお願いいたします。

  • アクセスで、条件を付けてカウントしたいです。

    アクセスで、条件を付けてカウントしたいです。 前回こちらで助けていただきました。 http://okwave.jp/qa/q5906286.html おかげで、ほしかったデータベースを作ることができとても感謝しております。 今回、そのデータベースを使い集計している最中に戸惑ってしまう点があり 再度質問させていただきます。 できあがったデータは、添付の画像のようになっています。 そこから来店回数ごとに○×をカウントしたいです。 たとえば、 1回の来店者でAの購入者は5人、Bの購入者は6人、Cの購入者は3人 といったように、一つのクエリで作成したいです。 http://mar1224.fc2web.com/site/access_index03.html こちらのように集計をカウントにして、○×の個数を出すことはできたのですが 一回の集計で複数の商品の購入の有無をデータ化することができませんでした。 目指すものとしては下記のようなデータにしたいです。 来店回数     A購入     B購入     C購入     D購入  1回      80人      90人      53人     24人        2回      70人      100人      74人     55人   3回      93人      44人      42人     77人   4回      55人      63人      23人     66人   5回      80人      90人      53人     24人   6回      80人      440人      52人     24人  Dcount関数を使ってみたのですが うまくいきませんでした。 ちなみに使った式としては A購入= DCount("名前", "3月の来店者データ", "A購入='○'") こちらにすると来店回数とうまく紐づけられませんでした。(トータルの○の個数が出てしまいます。) こちら初歩的な質問で申し訳ございませんが、 アドバイスいただけると幸いです・・・涙 よろしくおねがいいたします。

  • ACCESS2003でデータベースを作成します

    Access2003でデータベースを作成します。 以下の入力項目があるのですが、どう正規化したらよいのかわかりません。 お助けください。 ・顧客ナンバー ・顧客名 ・生年月日 ・年齢 ・住所 ・電話番号 ・身長 ・体重 ・性別 ・来店日 ・購入物 ・購入金額 これが一つなのですが、もう一つテーブルで ・商品名 ・価格 のデータベースも作りたいのです。 購入物を入力するとこのテーブルから価格を引っ張ってきて、 購入金額合計を出すようにすることも予定しています。 また来店日、購入物などの履歴は来店の度に入力があるので、 顧客ナンバーとは別のテーブルにすべきなのはわかるのですが・・・ よろしくお願いします。 このほかに必要な情報がありましたらご指摘ください。

  • 前レコードを参照するには

    お世話になります。 早急に教えていただきたいのですが例えば下記のようなレコードの場合ですが     A     B     C      D     E 1  No.    履歴  最新フラグ  商品   コード 2 1001    1     0     りんご    99    3 1001    2     0     りんご    99 4 1001    3     1     りんご    99 コードに99が入っているもので最新フラグがたっているレコードの前の履歴のレコードを別シートに表示させていきたいのですがどのように関数を組めばよいのかわかりません。 ご教授くださいますようお願いします。

  • 【SQL2000】アクセスログからレコメンド機能(ビュー)を作りたい

    SQL文の組み立て方がさっぱりわからないので質問です。 ある商品テーブルの閲覧履歴テーブルから、レコメンドエンジンを 作りたいと思っています。 (amazonなどである「この商品を見た人はこんな商品も見ています」ってヤツです) 以下AテーブルからBのビューを導きたいのですが どのようなSQL文を書けばいいのでしょうか? ■Aテーブル ┌────┬────────┐ │商品番号│見た人     │ ├────┼────────┤ │1    │A        │ ├────┼────────┤ │1    │B        │ ├────┼────────┤ │2    │A        │ ├────┼────────┤ │2    │B        │ ├────┼────────┤ │4    │C        │ ├────┼────────┤ │5    │D        │ ├────┼────────┤ │9    │B        │ ├────┼────────┤ │10   │B        │ ├────┼────────┤ │11   │D        │ ├────┼────────┤ │11   │B        │ ├────┼────────┤ │12   │A        │ ├────┼────────┤ │12   │B        │ ├────┼────────┤ │12   │C        │ └────┴────────┘ ■Bビュー ┌────┬────────┐ │商品番号│他に見た商品番号│ ├────┼────────┤ │1    │2        │ ├────┼────────┤ │1    │12       │ ├────┼────────┤ │2    │1        │ ├────┼────────┤ │2    │12       │ ├────┼────────┤ │11   │5        │ ├────┼────────┤ │11   │1        │ ├────┼────────┤ │11   │2        │ ├────┼────────┤ │11   │10       │ ├────┼────────┤ │11   │12       │ ├────┼────────┤ │12   │1        │ ├────┼────────┤ │12   │2        │ ├────┼────────┤ │12   │4        │ ├────┼────────┤ │12   │9        │ ├────┼────────┤ │12   │10       │ ├────┼────────┤ │12   │11       │ └────┴────────┘ 考え方だけでも構いませんのでご教示いただければ幸いです。

このQ&Aのポイント
  • はじめてのエンディングノート2 ダウンロード版を購入しました。保存先が初期設定ではOneDriveになっていますが、プライバシー上疑問を感じます。当Win10PC内に保存出来ないのでしょうか? 保存先の変更方法をご教示下さい。よろしくお願いします。
  • エンディングノート2のダウンロード版を購入したが、保存先が初期設定のOneDriveではプライバシー上の問題を感じる。Win10PC内に保存する方法を教えて欲しい。
  • エンディングノート2の保存先を変更したい。ダウンロード版を購入し、初期設定ではOneDriveになっているが、プライバシー上の疑問を感じる。Win10PC内に保存する方法を教えてほしい。
回答を見る