ACCESSテーブルに以下情報が格納されています。
注文日 会員番号 商品名 価格
2014/03/23 123456 サンプル 500円
2014/04/23 123456 サンプル 500円
2014/05/23 123456 サンプル 500円
2014/03/21 456789 容器 1000円
2014/04/21 456789 容器 1000円
上記をクエリーを利用して、以下の抽出をする方法は
ないでしょうか。
↓
(1)
会員番号 購入回数 価格 累積価格
123456 1 500 500
123456 2 500 1000
123456 3 500 1500
456789 1 1000 1000
456789 2 1000 2000
(2)
会員番号 購入回数 LTV
123456 1 0
123456 2 30
123456 3 60
456789 1 30
456789 2 60
※LTV:その回の注文日 - 前の注文日
※必要であれば先頭にAUTOナンバーをつけることも可能
※ACCESS2010を利用中
お手数ですが御教授いただけるとたすかります。。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
補足:DBLookup()
先のSQL文では、SELECT文中にカウントと集計用のSELECT文を埋め込んでいます。もちろん、それぞれに特化したAccessの関数を用いても事足ります。しかし、(1)SQL文を明示的に書きたい、(2)実行速度を担保したい。などなどの理由でDBLookup()は有用です。もう一つの答は、SELECT MAX(注文日) FROM ・・・、SELECT MIN(注文日) FROM ・・・という二つのSELECT文を組み込むことになるのかも知れません。
Public Function DBLookup(ByVal strQuerySQL As String, _
Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
Dim DataValue
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
DataValue = .Fields(0)
End If
End With
Exit_DBLookup:
On Error Resume Next
rst.Close
Set rst = Nothing
DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
Exit Function
Err_DBLookup:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBLookup
End Function
No.3
- 回答日時:
補足: テスト結果で多少は修正を!
ORDER BY 会員別注文履歴.会員番号,
会員別注文履歴.価格,
会員別注文履歴.ID,
こっちが意図した結果に!
No.2
- 回答日時:
添付図のクエリのSQLビューです。
SELECT
会員番号,
ID,
価格,
DBLookup(
"SELECT COUNT(*) FROM 会員別注文履歴
WHERE 会員番号=" & 会員番号 &
" AND ID<=" & 会員別注文履歴.ID)
AS 購入回数,
DBLookup(
"SELECT Sum(価格) FROM 会員別注文履歴
WHERE 会員番号=" & 会員番号 &
" AND ID<=" & 会員別注文履歴.ID & " AND
価格=" & 会員別注文履歴.価格)
AS 累積価格
FROM 会員別注文履歴
GROUP BY 会員別注文履歴.会員番号,
会員別注文履歴.ID,
会員別注文履歴.価格
ORDER BY 会員別注文履歴.会員番号,
会員別注文履歴.ID,
会員別注文履歴.価格;
ここではDBLookup()を使っていますが DLookup() と同じです。
※シリアル番号=一連の一意で等差な番号。
ここでは、列[ID]を意味します。
No.1
- 回答日時:
(1)
1、<会員番号+シリアル番号+価格>昇順でデータを抜き出す。
2、抜き出した各行で購入回数、価格、累積価格を求める。
(2)
1、<会員番号+シリアル番号>昇順でデータを抜き出す。
2、抜き出した各行で購入回数、LTVを求める。
Access のバージョンに関係なく、こんな感じかと思います。
この回答への補足
すみません、基本的なことで非常に申し訳ないのですが、
・シリアル番号とは?
・このやり方でLTVはでるのでしょうか??イメージを知りたく
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Amazon amazonの現金チャージ(5000円以上で1000ポイント付与)について質問です。 先程コンビニ払 2 2022/12/28 21:52
- 国産バイク 大型バイク カワサキz900rsに付ける ヨシムラのマフラーの質問です、 【 商 品 I D 】14 2 2023/06/27 13:43
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- ルーター・ネットワーク機器 安くて早い光回線はどこですか? 2 2022/03/27 19:57
- クーポン・割引券 dカードゴールドの年会費特典をサンプル百貨店にしたら 3 2022/08/08 10:02
- 日本株 SBIのHPに手数料は100万円まで無料だと書かれているのですが、、、。何故でしょうか。 1 2022/04/04 20:48
- FTTH・光回線 ソフトバンク光2年縛り IP電話番号 同番移行出来ない? 光回線変更は面倒で難しいですか? 1 2023/01/08 21:54
- FTTH・光回線 ソフトバンク光2年縛り IP電話番号 同番移行出来ない? 光回線変更は面倒で難しいですか? 4 2023/01/07 17:23
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- 大学・短大 消費者問題に関する課題が出たのですが、答えが分かりません。 「 A は、インターネットを利用した通信 3 2023/07/31 22:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヤフーの請求先住所って??
-
ZOZOTOWNで注文したはずの商品...
-
Amazonがブーって言ったんです...
-
Yahoo!ショッピングで届け先と...
-
ネット通販の担当をされている...
-
こういう色んな手のパーツがた...
-
メルカリで購入者が一方的な理...
-
メルカリで半年以上前の商品が...
-
メルカリ便で発送した商品を受...
-
メルカリ出品者です。ゆうパケ...
-
ウーバーについて ウーバーでド...
-
メルカリの返品先の住所が分か...
-
プレミアムバンダイで抽選して...
-
ゆうゆうメルカリ便の保管期限...
-
ブックオフオンラインで本買っ...
-
松屋を利用しました。paypay払...
-
楽天市場を利用してるんですか ...
-
メルカリで新品未開封の不良品...
-
進研ゼミを退会したいのですが...
-
洗濯機が入らなかった
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Amazonがブーって言ったんです...
-
ZOZOTOWNで注文したはずの商品...
-
ヤフーの請求先住所って??
-
Yahoo!ショッピングで届け先と...
-
ネットで送り主と先方が違うの...
-
先程GRLというサイトでネットシ...
-
amazonのダウンロードソフトの...
-
百貨店の通販でお歳暮を妻が注...
-
huaweiのタブレット注文取消し...
-
SKインターナショナル有限会社...
-
amazon からの customer servic...
-
ebookoffでコンビニ受渡しについて
-
Qoo10の商品をEdy決済で購入し...
-
https://item.rakuten.co.jp/sm...
-
Amazonで新しい住所登録できま...
-
お届け先欄の電話番号はどれに...
-
Amazonへ領収書を問い合わせた...
-
ユニクロとジーユー、オンライ...
-
Amazonで商品を購入したんです...
-
公式のサイトか否か聞きたいです
おすすめ情報