• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2003 クエリのトップ値を使って指定件数より多く表示される)

Access2003クエリでトップ値を使って指定件数より多く表示される

このQ&Aのポイント
  • Access2003でフィールドを昇順に並べ替え、上位10件を表示するクエリを作成しています。11件目以降の対象フィールドにも10件目と同じ値があるのですが、上位10件の指定に対して11件目以降も表示されます。別のファイルでも同じようなクエリを作成していますが、そちらは指定した10件のみが表示されます。どこかに設定があるのでしょうか?
  • 最寄り駅からの所要時間(徒歩の分数)を格納したフィールドがあります。単純に所要時間を昇順に並べ替えると、分数ごとのレコード件数は1分のレコードが2件、2分のレコードが5件、3分のレコードが6件です。クエリで所要時間の並べ替えを昇順にし、トップ値の値を10にして実行すると、1分から3分の13件が表示されてしまいます。他のフィールドには条件は設定されていません。
  • なぜ指定件数を超えるレコードが表示されるのでしょうか?指定件数のみの表示にするにはどうすればよいのでしょうか?

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

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

おそらく、10”件”ではなく、10”位”までを返すからでしょう。 たとえば、 ・1分のレコード → 15件 ・2分のレコード →  1件 であったとします。 この場合、1分のレコード15件が全部「1位」で、2分のレコードは「16位」なので1位の1分のレコード15件全部が返るのでしょう。 1位のレコード15件は、全部1位ですからこの中に順番はありません。もし10件ぴったり返すとなると、どう選ぶかはDBが勝ってに決めることになってしまいます。 これはユーザーにとって不都合であり処理上問題が多いので、10位まで(正確には、10位を超えないもの)を返すようになっているのでしょう。 どうしても10件にしたい場合は、並べ替えの条件を増やしたりして順位に重複がないようなソートの仕方を考えて指定することになるでしょう。

full2
質問者

お礼

cistronezkさん お返事が遅くなり、大変申し訳ありません。 わかりやすいご回答、ありがとうございました。 トップ10とした時に、10レコードちょうど表示されるものがあり、色々と悩んでいましたが、cistronezkさんがおっしゃるように、並べ替えをするフィールドを増やすことで一意になるようにし、10レコードちょうどを表示することができました。 とてもスッキリしました。 ありがとうございました!!

関連するQ&A