• ベストアンサー

Access top値に優先条件をつける

テーブル名:tbl フィールド名:ID/点数/科目名/科目CD/ ここから、TOP 3件の点数を科目名ごとに出したいのですが、 もし点数が同じ値になった場合には、科目CDを昇順で優先としたいです。 抽出データ件数が3件以上にならないようにするために 科目CDの条件を追加しようと思いました。 こうした優先条件を付けるには、どのようなコードを追加すればよいのでしょうか? よろしくお願いします。

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

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

order by で Sort順を指定して下さい。(並べ変え) キーは複数指定可能。 > 抽出データ件数が3件以上にならないようにするために それでも値によっては3件を越えるかも。

semi076
質問者

お礼

ご回答ありがとうございます。 order by後に条件を加える方法では、抽出件数は変わらなかったのですが Dcountで条件によって順位付けをし、あとで順位で絞りこみ、 一定のデータ件数を抽出することができました。

その他の回答 (1)

回答No.2

前回のような見当違いの回答を避けるために 8件のレコードがあって科目ごと3件の6レコードを 取得したいのだが 8件出てきてしまう・・・ というサンプルデータ8件以上があると私としてはありがたいです。 もっとも私が頭をひねっている間にあっさりと解決しそうな。。。

semi076
質問者

お礼

先日からお世話になります… が、お察しの通り自己解決しました…。 本当にお手数おかけしました。 解決策としては、Dcountで複数条件をつけることと、 扱うデータ自体が多かったので、DAOで順位付けする方法をとりました。 この度はありがとうございました。

関連するQ&A