dポイントプレゼントキャンペーン実施中!

テーブルにあるデータを以下のようにクエリーでソートしたく。

会員番号をユニークIDとする


○テーブルにあるデータ

注文日      会員番号  購入額   購入回数
2014/03/05   12345678   3675     10
2014/03/05   12345678   3675      9
2014/03/05   98765241   3675      3



上記について会員番号が同一であれば、購入回数が
最大のものだけを行表示させる(以下)ことは
可能でしょうか。


注文日      会員番号    購入額   購入回数
2014/03/05   12345678 3675    10
2014/03/05   98765241 3675     3


会員番号が重複している行は購入回数が最大の数の行だけ残したい。
(重複ありなし混在で1万ほどレコードがある)


お手数をおかけします!

A 回答 (4件)

> ○テーブルにあるデータ



テーブルにあるんですよね
テーブル名を ★★ と仮定します

クエリの SQLビューに以下を記述して表示を確かめてみます


SELECT * FROM ★★ AS Q1 WHERE 購入回数=
(SELECT Max(購入回数) FROM ★★ WHERE 会員番号=Q1.会員番号);

これは、更新/追加等できますが、表示するだけで良ければ

SELECT Q1.* FROM ★★ AS Q1 INNER JOIN
(SELECT 会員番号, Max(購入回数) AS 回数 FROM ★★ GROUP BY 会員番号) AS Q2
ON Q1.会員番号=Q2.会員番号 AND Q1.購入回数=Q2.回数;


※ どちらが速いのかは、やってみてください

この回答への補足

ありがとうございます。一番理想の解とおもいますが、PC端末が手元にないため週明けに
検証します!

補足日時:2014/09/20 18:23
    • good
    • 0
この回答へのお礼

30246kikuさん

以下、検証したのですが、

SELECT * FROM ★★ AS Q1 WHERE 購入回数=
(SELECT Max(購入回数) FROM ★★ WHERE 会員番号=Q1.会員番号);


クエリーを実行した際に、
パラメーターで購入回数を要求されます。

>>これを表示させない方法でできないのでしょうか。


購入回数で絞り込み表示はしたくない。

お礼日時:2014/09/25 10:45

> 累積で溜まっていくので、直近の日が一番累積数が多いデー タです。


だったら#2さんので大丈夫

この回答への補足

以下でクエリーを実行すると、購入回数(パラメーター)が要求されるのですが、
それを表示させない方法はないのでしょうか。

購入回数の絞込みはしない。



以下、30246kikuさんにもヒアリングしているのですが。。
お手数をおかけします。




30246kikuさん

以下、検証したのですが、

SELECT * FROM ★★ AS Q1 WHERE 購入回数=
(SELECT Max(購入回数) FROM ★★ WHERE 会員番号=Q1.会員番号);


クエリーを実行した際に、
パラメーターで購入回数を要求されます。

>>これを表示させない方法でできないのでしょうか。


購入回数で絞り込み表示はしたくない。

補足日時:2014/09/25 10:59
    • good
    • 0
この回答へのお礼

かしこまりました。返信に感謝します。

お礼日時:2014/09/24 11:25

最大の購入回数が複数の注文日に存在したら、どうするんですか?

この回答への補足

↑その場合は一番新しい日(直近)を採用します。

というか、、累積で溜まっていくので、直近の日が一番累積数が多いデータです。
この観点で直近の日で重複があっても表示は1行にしたい。
(bin-chanさん、難しいですか。これ。)

補足日時:2014/09/20 18:26
    • good
    • 0
この回答へのお礼

重複する日があっても最大累積数を1行で表現したい。

お礼日時:2014/09/20 18:31

「会員番号」で昇順ソート指定


「購入回数」で最大指定ではいけませんか。

この回答への補足

ごめんなさい、これはクエリー上でするのでしょうか。

またMAX関数を使うのでしょうか。

細かくてすみませんmm

補足日時:2014/09/19 16:41
    • good
    • 0
この回答へのお礼

単に無駄な行(下)は省くという事であればこれで試します。
※シンプルですね

お礼日時:2014/09/19 16:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!