• ベストアンサー

COBOL  最新のデータを1件取得する方法

プログラミングに関する質問です!  現在課題で「あるデータの登録日(INC_TIME)が最新のデータを1件取得する」という処理を考えています。 ・質問1 まず1件情報を取得する方法にはFETCHがありますが、 FETCH以外に同じような処理ができる方法はありますか?? ・質問2 登録日(INC_TIME)が最新のデータを1件取得する方法として 「最新のデータを取得する処理」をプログラムで書くとするとどのように書けばよいのでしょうか?? よろしくお願いいたします。

noname#179158
noname#179158

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

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

SELECT MAX で登録日がいちばん大きいレコードを取得する。 同じ登録日のレコードが複数あったらダメですけど。

noname#179158
質問者

お礼

ありがとうございました!さっそく実践してみたいと思います!!

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

そのデータはどのように記録されているのでしょうか? データベース?CSV?テキストファイル? それが分からないと答えようが無いです。

noname#179158
質問者

補足

すいません、データベースに記録されています!

関連するQ&A

  • COBOL 登録日が最新のデータを取得

    課題で「DBからデータを取得する際、登録日が最新のデータを1件取得する」という課題をしています。 そこで以下のような処理のプログラムを書きました。 IF MECIDENPYO_NO NOT = SPACE EXEC SQL SELECT  MAX(INS_DATE),     --登録日    MAX(SKA_SAKI_CD), --出荷先    MAX(SKA_TYPE) --出荷タイプ INTO :A. INS_DATE,   :A. SKA_SAKI_CD,   :A. SKA_TYPE FROM テーブル名 END-EXEC END-IF ・質問1 まず1件情報を取得する方法にはFETCHがありますが、今回はFETCHは使わないとの指定です。 FETCH以外に同じような処理ができる方法はありますか?? ・質問2 上記の処理だとそれぞれのレコードの最大値がバラバラになって取れてしまうため正確な データを取得できません。  ヒントには副問い合わせを使うというふうにかいてあったのですが、 いまいちnetで調べてもよくわかりません 「データを取得する際最新の登録日のモノを取得する処理」をプログラムで書くとするとどのように書けばよいのでしょうか?? よろしくお願いいたします。

  • COBOL プログラミング

    課題で「DBからデータを取得する際、それぞれの項目から登録日が最新のデータを1件取得する」という課題をしています。 そこで以下のような処理のプログラムを書きました。 IF MECIDENPYO_NO NOT = SPACE EXEC SQL SELECT  SKA_SAKI_CD --出荷先        ,SKA_TYPE --出荷タイプ INTO :A. SKA_SAKI_CD,   :A. SKA_TYPE FROM テーブル名 WHERE SKA_SLIP_NO LIKE '____' || :HST-EDIT_BIKOU AND DEL_FLG = '0' AND INS_DATE =(SELECT MAX(INS_DATE) FROM テーブル名 END-EXEC END-IF 上記の処理だとテーブルの中で登録日(INS_DATE)の最大値であるデータ1件だけしか取得できません。 私が実現したい機能はたとえば Aという項目とBという項目があったとして      登録日 A    2011/9/9 A 2011/9/11 A 2011/9/10 B 2011/8/9 B 2011/8/18 B 2011/9/20 Aの中で登録日が最新(最大)である A 2011/9/11 Aの中で登録日が最新(最大)である B 2011/9/20 を取得する処理を実現したいです!! これを実現するにはORDER BY して降順に並べた後に、ROWNUMを使うらしいのですが よくわかりません。どなたかプログラムで書いていただけますかか?? ヒントや考え方でもかまいません よろしくお願いいたします。

  • 最新のデータ5件~10件を表示したいです

    お世話になってます。初心者ですみません。 ASP(クラシックな)とmdbとでwebアプリを作っています。 その登録データの最新の5件とかをTOPページに表示させたいのですが 条件式などどのように組んだらいいのかわかりません。 データの内容のIDで最新のもの5件を検索?するのがいいと思うのですが、(間違ってたらごめんなさい)どうしたらよいのでしょうか。 よろしくお願いします。

  • 最新の日付と2番目の日付のデータ取得方法

    SQL Server 2008 にて下記条件を満たしたデータの取得を行いたいです。 ・IDごとに、日付がある日以前で最新のものとその次の日付のデータ2件 ・ただし、その2件で価格が変わらなければ価格変動のあった日付のデータまでさかのぼる ・価格が同じデータの場合、古い日付のデータを取得 例: ・条件…日付が20040101以前 <検索対象データ> ID  日付    価格 ------------------------ 1   20000101   100 1   20010201   100 1   20020301   200 2   20020401   300 2   20000501  400 2   20010601   400 2   20030701   300 3   20000801   500 3   20010901  600 3   20040901  600 <取得したい結果> ID  日付    価格 ------------------------ 1   20020301   200 1   20000101   100 2   20020401   300 2   20000501  400 3   20010901  600 3   20000801   500 なるべく少ないSelect文で取得したいと考えております。 よろしくお願いします。

  • 最新のものからデータを10件づつ昇順で並べたい

    MySQLで、最新のものからデータを10件づつ昇順で並べたいと思っています。 最新のデータを1ページ10件ごとに収めていきたいので(最初のページを半端にしたくないので)、データを降順に取り出し、それぞれ取り出した10件ごとに昇順で並べ変えることが出来ないかと、いろいろ工夫をしましたが行き詰っています。PHPスクリプト(一部ですが)は次のように書いています。 $from = ($page-1)*10; $query = "SELECT * FROM table ORDER BY age DESC, sinchou DESC, taijyuu DESC LIMIT 10 OFFSET $from"; 1.降順で取り出したデータ10件を昇順に並べ替えるにはどのようにすれば良いでしょうか? 2.最新のものからデータを10件づつ昇順で並べるための良い方法が、上記の他にありますでしょうか? なにかご示唆を頂ければ有難いです。よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • 大量データの取得処理について

    テーブル1のレコードを全件取得し、取得したレコードの特定の項目を一件ずつチェックし、テーブル2の値を更新する処理を考えています。 しかし、テーブル1のレコード数が8万件存在するため、一気に全件を取得するのはまずいことになるのではと危惧しています。 そこで、fetch first ~ rows を使用するため、テーブル1に項目を追加し、更新が済んだらその項目にフラグを立てるような処理も考えましたが、 たった一度の処理のためにテーブルに項目を追加するのもどうかなと思っています。 1000件くらいずつ順番に取得できる良い方法があったら教えてください。 よろしくお願い致します。 ちなみにデータベースはDB2を使用しています。

  • RSSで特定のカテゴリを取得する方法

    今までブログを書いていて、今はHPを作っています。 ブログには様々なジャンルの記事を書いていますが、 HPは特定のジャンルに対して作る予定です。 そこで今までブログに書いた記事をHPにRSSでフィードして載せようと考えていますが、 MagpieRSSを使って最新記事を無事に取得はできましたが、 特定のカテゴリの記事のみの取得はできないでしょうか? ネット上のプログラムを参考にして、 --------------------------- require_once 'rss_fetch.inc'; $url = '取得したいサイトのURL'; $rss = fetch_rss($url); $title = $rss->channel['title']; --------------------------- どこにもカテゴリ取得のコマンドがないのですが、そもそもできないものでしょうか? MagpieRSSじゃなくても、できる方法があれば紹介していただければと思います。 よろしくおねがいします。

    • 締切済み
    • PHP
  • 最新のデータ?

    新しいソフトを入れた後に「プログラムの追加と削除」を使って削除を掛けましたが、データが残っているようで、「デフラグ」を掛けると空き領域が2%になっています。完全に元に戻すのには「検索」を使って最新の不要なデータを消すしかないように思います。「検索」を使って最新のデータを探す方法をお教え下さい。OSはWINDOWSXPです。

  • HTTPストリーミングによるデータの取得方法

    QuickTime のようなHTTPストリーミングを行うアプリの開発を検討しております。 おそらく、MFCのWinInetクラスを使って実装可能と思うのですが、QucikTimeは、サーバからダウンロードしたデータを取得しながら再生していますが、同様にデータを一括取得ではなく、取得しながら逐次的にデータを処理するようなしくみを実現する方法について、ご教示いただければと思います。もしありましたら、サンプルプログラムをお願い致します。

  • T-SQL 一件のみのデータ取得について

    T-SQL(SQL Server2000)で対象データを一件のみ取得する場合、どのようにすれば良いでしょうか? 処理的に無理でしょうか? PL/SQLの"ROWNUMBER = 1"のような条件は使うことが出来ないのでしょうか? 説明が苦手で分かりづらいかも知れませんが、宜しくお願いします。

専門家に質問してみよう