Accessでのクエリ作成方法についての質問

このQ&Aのポイント
  • Accessで複数のフィールドの中で特定の条件を満たす最大値を持つレコードを検索する方法について教えてください。
  • 集計のグループ化を利用するとフィールドAの最大値のみを取得できますが、他のフィールドのデータを表示する方法がわかりません。
  • 他のフィールドを表示するための方法や別の検索方法があれば教えてください。
回答を見る
  • ベストアンサー

クエリーの作成方法(MS Access)

以下の検索は可能ですか。 複数のフィールドの1つにデータ型は倍精度浮動小数を有すフィールドAがあり、そこでの検索条件はある数値 N を超えない最大の値をもつレコードです。 検索されるレコードは1件です。普通にすると検索条件に<Nを指定して、検索されたレコードでフィールドAの最大を有するレコードを抽出すればいいのですが、この操作を1回で実現する方法はありますか。 集計のグループ化を利用してフィールドAだけであれば検索できるのですが、他のフィールドをうまく表示できません。 他のフィールドを表示するにはグループ化以外に何を指定していいかご教示ください。それとも別の方法があるでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Aを降順でソートして、Top 1行を取得するとか。 SQLビューで書くとこんな感じ: select top 1 * from T where A<N order by A desc

tach_ei
質問者

お礼

osamuy様へ top 1は知りませんでした。 本当にありがとうございます。助かりました。

関連するQ&A

  • Access 切り捨て合計クエリ

    Accessのクエリにて以下の集計・抽出を作成したいです。 抽出クエリの条件 (1):テーブルから商品名フィールで商品で始まるレコードを抽出する (2):抽出したレコードの数量フィールドの値を2000で割る (3):割り算後、小数点以下(1未満)が発生した場合は、0とする。 集計クエリの条件 (4):抽出クエリの条件式(1)~(3)を実施したのち、商品ごとに切り捨て後の整数を合算する ※数量が2000以上のレコードを抽出したいです。 どのようにすればよろしいでしょうか?

  • Accessのフィールドサイズに関する素朴な質問です。

    Accessのテーブルで、フィールドサイズに[単精度浮動少数型]を設定して、そのフィールドを使って、クエリで演算フィールドを作成します。 単純な引き算でも、びっくりするくらい小数点以下の桁が表示されるのですが、どうしてなのでしょう? [単精度浮動少数型]より[倍精度浮動少数型]を使用したほうがよいと聞きましたが、設定の桁数の違い以外に、理由があるのでしょうか? Access初心者にも理解できるよう、ご解答いただけますでしょうか。 WindwosXP,Access2002を使用しております。

  • Accessのクエリのデータ抽出のエラー?について

    お世話になります。 Accessのクエリでのデータ抽出について教えてください。 テーブルからフィールドを商品コードと出荷日の2つを選択し、 集計を使用して、商品コードでグループ化して、出荷日で最大にします。 すると、抽出条件で商品コードを指定すると抽出できるのですが、抽出条件で 指定せずすべてのデータを抽出すると出てこない商品コードがあります。 たとえば[A]という商品コードを抽出条件に指定すると抽出できるのですが、 抽出条件で指定せずすべてのデータを抽出するとこの[A]という商品コードが 抽出されません。 何が理由なのかお分かりになりましたらどうぞよろしくお願いいたします。 当方SQLがわかりませんのでクエリのデザインビューでご説明いただけますと 幸いです。

  • ACCESS クエリの引き算

    よろしくお願い致します。 クエリ上で計算をしています。 デザインビューで フィールド   組      A班     B班    テーブル   データ    データ    データ 集計    グループ化   カウント   カウント 並べ替え 抽出条件 という状態で、さらに フィールドB班の隣に「A-Bの差」を設けて、「A班のカウント値」-「B班のカウント値」を単純に引き算をしたいのですが、うまくいきません。 集計を「演算」にしてみて、フィールドに  A-Bの差:Count([A班]-[B班]) と入力してみましたが、実行すると表示される値は全て「1」になってしまいます。 単純にカウントした値を引き算したいだけなのですが・・・。 ヘルプを見てもよく分からないので、教えてください。

  • ms access クエリの集計について

    こんにちは ms accessのクエリで、文字列として入力されている数字を数値扱いに直してその合計を出そうとしているのですが、特定の値を指定して合計を出そうとすると値がマイナスになってしまいます。 例 式1:sum(val(nz[フィールド名]))=1) フィールドに1とあるレコードを足して合計を出す場合です。値がマイナスになってしまいます。nzは別のクエリ使用時に空欄があるとまずいので入れてあります。 左隣で別のフィールドでグループ化し、ここでは演算を選択しています。

  • ACCESS 2007 フィールドサイズについて

    ACCESS 2007 フィールドサイズについて 数値を入力し、下記のように表示したいのですが思うように表示できません。 入力値:0.123 表示:0.123KL フィールドサイズを倍精度浮動小数点型、書式を#,###.###KL、小数点以下表示桁数を3に設定したのですが、 入力すると .123KLとなります。0.123KLと表示するにはどのように設定したらよいでしょうか。 ちなみに1.345の場合は、1.345KLと表示できます。

  • Accessのデータ型について質問です。

    Accessのデータ型について質問です。 Accessの数値型に 整数型と浮動小数点がありますが、 (1)整数型のフィールドプロパティに「小数点以下表示桁数」の項目があるのでしょうか? (2)浮動小数点表示桁数を「自動」と「桁数指定」するのとでは、データサイズが変わるのでしょうか? どなたかご存じの方がおられましたら、ご教授よろしくお願いいたします。 m(_ _)m

  • Access集計クエリについて

    Access集計クエリについて質問です。 (例) [フィールド名] りんご バナナ オレンジ りんご りんご バナナ ↓ <抽出条件> [フィールド名]   集計:[フィールド名] グループ化     カウント とすると、 ↓ <抽出結果> [フィールド名]   集計 りんご        3 バナナ        2 オレンジ       1 となります。 上記抽出結果を基に、集計カウント数が「3」の場合はOK、それ以外はNGというフィールドを追加したいのですが、その時の抽出条件はどうすればいいのでしょうか? <抽出結果> [フィールド名]   集計   判定 りんご        3     OK バナナ        2     NG オレンジ       1     NG Access初心者です。 どうぞよろしくお願いいたします。

  • Accessクエリ

    お世話になります。 Access初学者です。 グループごとに日付が最大のレコードを、それぞれ1件抽出するクエリを作成したいと思っています。 IDを表示させなければできるのですが、IDを表示させると全レコードが抽出されます。どのようにすればいいのでしょうか? よろしくお願いします。

  • INT関数について アクセス2000です

    いつもお世話になります。 アクセス2000を使用しております。 テーブルに8.2と3600の数字が格納されています。 フィールドサイズは倍精度浮動小数点型です。 クエリーをつかって積を求めると、通常に計算すると29520が表示されます。その他の計算結果で少数点以下が出てきますので小数点以下を切り捨てたいのでINT関数を使うと29519と表示されます。 本来INT関数は、29520に対しては29520を返すと思うのですが、どうしたらいいのでしょうか。 小数点以下を切り捨てる方法を教えてください。

専門家に質問してみよう