• ベストアンサー

クエリで30歳以上の人ランダムに3件抽出したいです。

Acceess2003のクエリで30歳以上の人からランダムに3件抽出したいです。 下記のSQLだと30歳以上の人は抽出されますが、ランダムな3件が抽出できません。ランダムな3件を抽出するにはどうすればいいでしょうか? ご指導お願いします。 SELECT テーブル1.名前, テーブル1.年齢, テーブル1.備考 FROM テーブル1 WHERE (((テーブル1.年齢)<"30"));

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

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

現在手持ちのテーブルから「ランダムな3件を抽出」するSQLが下記です。 SELECT TOP 3 Test.uid, Rnd([uid]) AS xx FROM Test ORDER BY Rnd([uid]); 乱数を生成して、毎回違うものを抽出するようにしています。「uid」がこのテーブルのプライマリーキーなのですが、ともかくこのテーブルのフィールドをRnd関数のパラメーターに与えるのがポイントです。 レコードごとに乱数を生成するので、レコード数が多い場合には何らかの工夫が必要かもしれません。