Oracleデータベースに、859188_1、859188_2、859188_3、...、859188_nのような値を持つIDという列があります。 '_'の後の値はバッチ番号、つまり1、2、3、...、nです。このバッチ番号に基づいて最小IDを選択する必要があります。最小値は859188_1です。バッチ番号で構成される文字列から最小値を見つけるOracle SQLクエリ
0
A
答えて
0
はあなたが_
後部分に基づいて最小を選択する必要があります...
select id
from yourTable
where to_number(regexp_substr(ID, '[^_]+$')) =
(select min(to_number(regexp_substr(t2.ID, '[^_]+$')))
from yourTable t2
)
+0
ありがとうございます、これは期待通りに機能しました。 – user7371032
+0
私はそれをちょっと微調整しようとしていました。 flag.Exampleに基づいて異なる出荷番号のうちの最小値を選択したかった:出荷番号がある場合: XXXXX_1フラグ - C XXXXX_2フラグ - N XXXXX_3フラグ - N yyyyyy_1フラグ - C yyyyyy_2フラグ - N yyyyyy_3フラグ-N また、フラグはフラグ= 'N'のフラグに基づいています。 結果はXXXXX_2とyyyyyy_2である必要があります – user7371032
0
を試してみてください。
場合は - あなたの例のように - 最初の6つの文字がすべて同じである、あなたは簡単に行うことができます。
select min(id) keep (dense_rank first order by length(id) asc, id asc) as min_id
from t;
0
おそらく、このような何か...
with
inputs (id) as (
select '100_1' from dual union all
select '100_3' from dual union all
select '100_12' from dual union all
select '101_3' from dual union all
select '101_5' from dual union all
select '101_9' from dual
)
-- end of test data; solution (SQL query) begins below this line
select min(id) keep (dense_rank first
order by to_number(substr(id, instr(id, '_') + 1))) as id
from inputs
group by substr(id, 1, instr(id, '_') - 1)
;
ID
-----
100_1
101_3
関連する問題
- 1. 配列内の最小値のインデックス番号を見つける
- 2. mongoクエリで最小の番号を見つける方法は?
- 3. SQL - クエリの最適なパフォーマンス番号を見つける方法
- 4. SQLクエリ - 最高のインデックス番号の行を見つける
- 5. リスト内の最小の番号のインデックス値を見つける?
- 6. 配列から最小値と最大値を見つける
- 7. 文字列内の特定の番号を見つけるか?
- 8. 番号リストの最小値と最大値を見つける方法
- 9. 配列から最初のユニークな番号を見つける
- 10. 右のサブツリーで最小の番号を見つける方法
- 11. oracle 11gインストールされたポート番号を見つける方法
- 12. 文字列にNSArrayオブジェクトの番号を見つける
- 13. SQL Server - 番号パターンを見つける
- 14. 配列内の最小の番号と最大の番号を見つける方法は?
- 15. Oracle SQLクエリのステップ番号
- 16. oracleテーブルの列から最大値を見つける方法は?
- 17. htmldocでクエリ文字列の値を見つける方法は?
- 18. データベースからの任意の列全体のテーブルから値の最大値と最小値を見つける
- 19. リストから削除された番号を見つける
- 20. 2次元配列から最小値と最大値を見つける
- 21. bash配列から最大値と最小値を見つける
- 22. WPF DataGrid列の最大値と最小値を見つける
- 23. oracleで文字列を使用してシリアル番号を作成
- 24. 重み付けされたグラフから2番目に小さい最小スパニングツリーを見つけるアルゴリズム
- 25. 数値を返すメソッドのグループから最大の番号を見つける
- 26. ソートされた回転可能な配列の中で最小の番号を見つける
- 27. SIMD:_m128iから最小/最大値を見つける
- 28. 最小番号を見つけようとしています
- 29. 文字列に見つからない文字を見つけるJavaScript文字
- 30. 最高のバージョン番号を持つ配列内の文字列を見つける
を見ての通り今これは恐ろしいDBデザインです。テーブル構造を変更することはできますか? –
実際、ペイロードは大きく、Oracle Serviceによってバッチで分割され、SOAに送信されます。最初の値には出荷数が含まれ、2番目の値には分割バッチ番号が含まれます。表全体は、方法。 – user7371032
私は前にDBシーケンスに基づいてIDを持っていたし、うまくいきました。今度はデザインが変更されました。 – user7371032