• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:連番に紐づく小連番の最大値を除外するには…)

連番に紐づく小連番の最大値を除外する方法

このQ&Aのポイント
  • 以下のテーブルから、特定の連番に紐づく小連番の最大値を除外する方法をご教授ください。
  • アウトプットとしては、大連番毎に小連番の最大値を除いたデータを表示することです。
  • お力添えをお願い致します。

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

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

SELECT 大連番,小連番 FROM テーブル T1 WHERE NOT EXISTS(SELECT 'A' FROM テーブル T2 GROUP BY 大連番 HAVING T1.大連番=T2.大連番 AND MAX(T2.小連番)=T1.小連番) ではどうでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 同行内の最大値

    毎度お世話になります。以下の件で解かる方いらっしゃいましたら教えてください。 現在、以下のようなテーブルがあるとします。 ID | DATA1 | DATA2 | DATA3 1 | 100 | 200 | 300 2 | 250 | 350 | 100 3 | 400 | 100 | 200 これより、行毎にDATA1からDATA3までの範囲内での最大値を取得したいのですが、それは可能でしょうか? 以下のような感じで取得したいのです。 ID | 最大値 1 | 300 2 | 350 3 | 400 列の最大値ならMAXを使えばいいのでしょうが、同行内最大値となるとどのように書けば良いか検討が付きません。 スマートな方法があれば、ご教示お願いします。 環境は SQL Server 2005です。宜しくお願いします。

  • アクセスの連番について

    アクセスでテーブルのkanri_Noという項目に管理番号を振りたいと思っています。 他のテーブルに後でインサートするので、そのテーブルのKanri_NOの最大値をKanri_Maxとして引いてきてそのKanri_Max+連番という風に振りたいのですが、どうSQLを入れればいいのか分かりません。 Kanri_Maxが4000だったら、4001、4002、4003・・・、Kanri_Maxが5000だったら5001、5002、5003とKanri_Noの項目に連番を振りたいのです。 連番を振る前のKanri_Noは空白です。 初心者で申し訳ないのですが教えてください。

  • 特定条件での連番の振り方を教えて下さい

    以下のようなテーブルがあります。 納品データ 注文番号 売上番号 連番 商品名 11111    2      1   さしすせそ 11111    2      2   たちつてと  11111    3      1   なにぬねの 11111    4      1   はひふへほ 売上データ(既存データ) 注文番号 売上番号 連番 商品名 11111    1       1   あいうえお 11111    1       2   かきくけこ 注文番号は注文毎に付与される番号 売上番号は発送毎に付与される番号 連番は売上番号毎に付与される連番 毎回 納品データを売上データに取り込みます。 連番に関しては、 納品データと売上データで連番は連動しておらず、 売上データに納品データと同等の注文番号があれば、 注文番号の最大連番数を+1した番号で取り込みます。 更新後、売上データは、 注文番号 売上番号 連番 商品名 11111    1       1   あいうえお(既存データ) 11111    1       2   かきくけこ(既存データ) 11111    2       3   さしすせそ 11111    2       4   たちつてと 11111    4       5   なにぬねの 11111    5       6   はひふへほ としたいのです。 SELECT (SELECT 納品データ.連番+(SELECT NVL(MAX(売上データ.連番),0) FROM 売上データ WHERE 売上データ.注文番号 = 納品データ.注文番号) AS 連番) FROM 納品データ で売上データの連番+1はできたのですが、 売上番号が違う場合は、連番が1になるパターンとなり、 納品データ 注文番号 売上番号 連番 商品名 11111    2       1   さしすせそ 11111    2       2   たちつてと  11111    3       1   なにぬねの ← 11111    4       1   はひふへほ ← 上記SQLですと、 更新後、売上データは、 注文番号 売上番号 連番 商品名 11111    1       1   あいうえお(既存データ) 11111    1       2   かきくけこ(既存データ) 11111    2       3   さしすせそ 11111    2       4   たちつてと 11111    4       3   なにぬねの ← 5にしたい 11111    5       3   はひふへほ ← 6にしたい となり、連番となりません。 どのようにSQLを書けばよいのか、困っています。 どうか、ご教示お願い致します。

  • [Access]別テーブルの最大値以降の連番振り

    過去の質問を色々調べたのですが、結局以下の連番の振り方が分からず・・・困っています。 どなたか助けて下さい。お願いいたします。 テーブルA(蓄積されている過去テーブル) 伝票番号  顧客NO  注文日 001 111111 2012/11/10 001 111111 2012/11/10 002 222222 2012/11/25 002 222222 2012/11/25 002 222222 2012/11/25 003 333333 2012/12/31 テーブルB(新規にインポートするテーブル) 004 444444 2013/02/01 004 444444 2013/02/01 005 222222 2013/02/15 005 222222 2013/02/15 006 555555 2013/02/15 006 555555 2013/02/15 上記のように、テーブルBをインポートした時に、伝票番号を「004,004,005・・・」という風に 顧客NO毎に連番を振りたいです。 DmaxやDcount関数を使う事はなんとなく分かったのですが、うまくいきません。 出来れば、クエリで実現したいと思ってます。 テーブルAにある顧客がテーブルBに出てきたとしても、関係なく連番が振れれば問題無いので、 テーブルAからは最大値+1の値だけ取れればいいです。 宜しくお願いいたします!!

  • Access2000 連番の振り方

    次のようなテーブルに対して連番を振りたいのです。 伝票番号  日付   行番号   金額 00001   2007/01/01  1    1000 00001   2007/01/01  2    1000 00001   2007/01/01  3    1000 00002   2007/01/02  1    1000 00002   2007/01/02  2    1000 00002   2007/01/02  3    1000 以下はこのような状態で続く。 ここで知りたいのは、同日のデータに対しては伝票番号は同じ番号で 行番号のみ連番を振る。 日が変われば伝票番号は次の番号になり、行番号は新たに1から 振りなおすというものです。 クエリーでこのようなことは可能でしょうか。 やはりVBAで組まないと出来ないのでしょうか。 この方法を教えていただきたくお願いいたします。

  • 連番のつけ方

    SQL初心者です。 よろしくお願いします。 顧客の売上順位を年度別に並べ連番を振りたいのですが どのようにすれば良いのかわかりません。 <テーブル例> 年度 顧客CD 売上金額 順位 ---------------- 2002 000001  50000 2002 000002  40000 2002 000003  30000 2002 000004  20000 2003 000001  10000 2003 000002  20000 2003 000003  30000 上記のデータに順位を付与するSQL文を 書こうとしていますがなかなかうまくいきません。 <処理結果例> 年度 顧客CD 売上金額 順位 ---------------- 2002 000001  50000   1 2002 000002  40000   2 2002 000003  30000   3 2002 000004  20000   4 2003 000001  10000   3 2003 000002  20000   2 2003 000003  30000   1 という結果を求める場合、SQL文をどのように 書けばよいのでしょうか? お教え下さいませ。

  • 最大値の取得

    いつもお世話になっております。 Access2003を使っております。 NEN | TSUKI | COUNT -----+-------+-------   11 |  3   |  2   13 |  2   |  1   11 |  6   |  2   14 |  1   |  3 上記のようなテーブルでNENが最大のものを 取得し、さらにそのなかでTSUKIが最大のものを 取得させたいのですが、一番システムに負荷を かけずにデータを取得できるSQLはどのように 書けばよろしいでしょう? どうかよろしくお願いいたします。

  • 連番で出力したい

    以下のような感じで、url.txtに書いてあるURLを落として連番で保存したいんですが、やり方がわかりません(wgetに限らずほかのコマンドも連番したいときがよくあります)。 環境はcygwinです。シェルの種類は何でも結構です。どなたか教えてください! cat url.txt | xargs wget -o output■連番■.html

  • 連番のMin, Maxを取得したい

    連番のMin, Maxを取得したい 下記のデータが格納されたテーブルで、 部署コードのまとまりごとに、連番のMin, Maxを取得したいと 考えています。 SQLで、期待する結果を取得したいのですが、 なかなかよい案がなく、困っております。 何かよいアイデアがあれば、ご教授頂きたいと思い、質問致しました。 対象DBは、 SQLServer2008 Standard Editionです。 検索するテーブル RENBAN      BUSYO_CD ---------------------------------------- 1          AAA 2          AAA 3          AAA 4          AAA 11          BBB 12          BBB 13          BBB 21          AAA 22          AAA 23          AAA 24          AAA ---------------------------------------- 期待する結果 BUSYO_CD   RENBAN_MIN   RENBAN_MAX -------------------------------------------------------------- AAA       1         4 BBB       11         13 AAA       21         24 -------------------------------------------------------------- ※データは、あらかじめ連番(昇順)でソートされています ※連番は、部署コードが同じ間は、続き番号となっていますが、  部署コードが変わると、続き番号にならない可能性があります。 ※同じ部署コードのまとまりが、複数回出てくることがあります。  (上記例でいえば、連番1~4のAAAと、21~24のAAAは同じ部署コードです) よろしくお願い致します。

  • 自動連番でカラムを更新したい

    いつもお世話になります。 あるテーブルのカラムに、「ある順番に並び替えた上で」自動連番をふって更新させたいのですが、上手くいきません。 当初はシーケンスを作成して試みたのですが、並び替えた上で連番をふることができず無作為な連番になってしまいました。 そこで、色々考えまして以下のように作成しましたが、、、 update tableA set colC = (select rownum from tableA order by colA, colB); 「ORA-00907:右カッコがありません」が出てきます。 文法が間違っておりますでしょうか?? それとも他に何か良い方法がありましたらご教授いただけますでしょうか?