No.4ベストアンサー
- 回答日時:
再度回答します。
(最初の回答より掘り下げました)まずクエリーを作ります。(例:クエリー1)
select * ← * にすると全フィールド項目が表示対象となります。
from DB名
where 名前 = 対象にしたい名前
order by 発生日 desc
とすると最初の1件目があなたの欲しいデータとなります。(1件抽出にこだわらないなら。。。。)
やはり、1件だけ欲しい場合は(少し遅くなる)、
そのクエリーに対して再度クエリーを作ります。(例:クエリー2)
select *
from クエリー1
group by 発生日,名前,種類,住所,電話番号;
とします。
※いきなり大量データをグループ化にすると遅くなるので、クエリー1で簡単抽出し、クエリー2でグループ化します。win95のaccess95でよくこの技を使いました。
あと比較記号で ≦ より > を記述する方が早くなるとかもあります。
抽出時に、日付で**/**/**などの形式の意識は入りません。
もしアクセス画面表示で形式のこだわった表示がしたいなら、表示項目のプロパティで書式をyyyy/mm/ddとすればいいでしょう。(format関数を使う方法もあるので書き出すときりがない)
あとインデックスは貼ることができるなら貼った方がいいです。(方法は前回に回答済)
参考URL:http://www.e-taiko.co.jp/
どうもありがとうございます。
今回は時間がなかったので結局社内のexcelマスターにマクロをシコウサクゴしてやってもらってしまいました。情けない…
とても分かりやすい説明で理解が出来たので次回からはできそうです。どうもありがとうございました。
No.3
- 回答日時:
クエリーデザインを開き右クリックしSQLビューを開き、直接記述します。
select 最終日付
from DB名
where 名前=対照となる名前
order by 最終日付 desc
後、データベース定義で名前と最終日にインデックスを貼ればいい(重複あり)
私のパソコンで30万件のデータ検索で約4分でした。
参考URL:http://www.e-taiko.co.jp/
ありがとうございます。
うちのsql、規模小さいくせに支社からもみんなでアクセスしているのでやはり直接いじる事を躊躇してしまいました。もし壊したら私のスキルでは自信がないから・・
あと、質問なんですが今回の場合、各名前に対して最終日付(latest day)がバラバラなのですが、その場合は
select日付の部分をどう書けばよいのか教えていただけないでしょうか?["00/*/*"or"99/*/*"]で使えますか?
すみません,お願いします。
No.2
- 回答日時:
選択クエリなら簡単です。
1.グループ化をする。
2.「発生日」フィールドで「集計方法」を「最大」にする。
これだけでいいと思います。もし、グループ化がまずい場合は、「発生日」フィールドと「名前」フィールドだけのクエリと、「名前」「種類」「住所」「電話番号」フィールドのクエリを作って、ここから「名前」フィールドで繋ぎ合わせたクエリを作るといいと思います。
この場合は、「テーブル作成クエリ」などを利用して、「シリアル番号」フィールドを付け加えた「作業用のテーブル」を作ってしまう方がやりやすいと思います。
どうもありがとうございました。
チャレンジしてみたのですが結局最後までクエリーは開くことなく、ものすごくアナログにつぎはぎつぎはぎして
テーブルを移した後クエリー抽出することで作業をムリヤリ終わらせました。
No.1
- 回答日時:
具体的な解決策ではないことをあらかじめ
お断りしておきます。
レコード数が 10 万単位もあるということですが、
1 つのテーブルにそれだけあるということですよね。
ここはひとつ、データベースの構造を考え直すべきでは
ないでしょうか。どのようなデータベースを作って
いらっしゃるのか、もっと詳しく書いていただければと
思います。
この回答への補足
すみません、説明不足でした。
DB自体はsqlサーバ7.0にあります。
今回はその一部のデータをローカルに移しての作業を行っています。抽出作業自体はaccessで行っています。
一時的なものの為、sqlでの作業は出来るだけ避けたいと思っているので、access内でどうにかしたいのですが・・・。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
- Excel(エクセル) エクセルの関数を教えてください。② 9 2023/05/25 15:28
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2007でSQLの複数列副問い...
-
アクセスのフィルタ nullにつ...
-
Access クエリで連結する文字...
-
Accessのクエリーのゼロデータ...
-
テーブルの差分をとる結合
-
Accessクエリ特定文字列のカウ...
-
Accessクエリで特定の行を削除...
-
Accessのクエリで1フィールドの...
-
AccessからExcelへの条件付エク...
-
アクセスで任意の件数を抽出す...
-
Accessのデータの一部を削除す...
-
access2019 チェックボックスと...
-
SQLのSELECT文でのランダム抽出...
-
access(アクセス):パラメータ...
-
Accessクエリで年月フィールド...
-
「#エラー」の回避
-
Accessのレポート上のテキスト...
-
アクセスで入力したデータの順...
-
差込印刷で顧客別に複数行のデ...
-
accessのフィールドに10桁の数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessクエリで特定の行を削除...
-
Accessのクエリーのゼロデータ...
-
Access2007でSQLの複数列副問い...
-
アクセスのフィルタ nullにつ...
-
Accessのクエリで1フィールドの...
-
Accessのデータの一部を削除す...
-
access2019 チェックボックスと...
-
AccessからExcelへの条件付エク...
-
access(アクセス):パラメータ...
-
Access クエリで連結する文字...
-
Access:固定長文字列ファイル...
-
アクセスで任意の件数を抽出す...
-
accessで空白の時の抽出
-
Accessクエリ特定文字列のカウ...
-
Access Left$関数で全角半角が...
-
【Access】先月のデータを抽出...
-
テーブルの差分をとる結合
-
Accessクエリで年月フィールド...
-
ACCESS クエリ 抽出条件が多い場合
-
ActiveDirectoryのCSVエクスポート
おすすめ情報