• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:再 ACCESSのソートについて(必要なものだけ)

再 ACCESSのソートについて(必要なものだけ)

このQ&Aのポイント
  • 再 ACCESSのソートについて質問です。テーブルにあるデータを特定の条件でソートしたいです。
  • 会員番号をユニークIDとして、テーブルにあるデータをソートしたいです。
  • 会員番号が同一の場合は、購入回数が最大の行のみを表示させたいです。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

> ○テーブルにあるデータ テーブルにあるんですよね テーブル名を ★★ と仮定します クエリの 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.回数; ※ どちらが速いのかは、やってみてください

mcdone
質問者

お礼

30246kikuさん 以下、検証したのですが、 SELECT * FROM ★★ AS Q1 WHERE 購入回数= (SELECT Max(購入回数) FROM ★★ WHERE 会員番号=Q1.会員番号); クエリーを実行した際に、 パラメーターで購入回数を要求されます。 >>これを表示させない方法でできないのでしょうか。 購入回数で絞り込み表示はしたくない。

mcdone
質問者

補足

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

その他の回答 (3)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.4

> 累積で溜まっていくので、直近の日が一番累積数が多いデー タです。 だったら#2さんので大丈夫

mcdone
質問者

お礼

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

mcdone
質問者

補足

以下でクエリーを実行すると、購入回数(パラメーター)が要求されるのですが、 それを表示させない方法はないのでしょうか。 購入回数の絞込みはしない。 以下、30246kikuさんにもヒアリングしているのですが。。 お手数をおかけします。 ↓ 30246kikuさん 以下、検証したのですが、 SELECT * FROM ★★ AS Q1 WHERE 購入回数= (SELECT Max(購入回数) FROM ★★ WHERE 会員番号=Q1.会員番号); クエリーを実行した際に、 パラメーターで購入回数を要求されます。 >>これを表示させない方法でできないのでしょうか。 購入回数で絞り込み表示はしたくない。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

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

mcdone
質問者

お礼

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

mcdone
質問者

補足

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

noname#222886
noname#222886
回答No.1

「会員番号」で昇順ソート指定 「購入回数」で最大指定ではいけませんか。

mcdone
質問者

お礼

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

mcdone
質問者

補足

ごめんなさい、これはクエリー上でするのでしょうか。 またMAX関数を使うのでしょうか。 細かくてすみませんmm