アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数のSQL条件を設定する方法について以下の内容
を実現したいと思っています

(1)番号が17000以上
(2)そのなかで番号がMINの値を持ってくる

TBL 作業

品目  番号     日時    数量
A    15010   05/23  20
A    15020 05/24  20
A    17010   05/25  20←ーー抽出
A    17030   05/26  20
A    17080   05/27  20
B      ・       ・     ・
C      ・       ・     ・
D      ・       ・     ・


ご教授宜しくお願い致します。

A 回答 (3件)

Chronos198さんの回答以外のやり方も。


not existsを使って
select 品目,番号,日時,数量
from 作業 a
where a.番号 >= 17000
and not exists(
select *
from 作業 b
where a.番号 > b.番号
and b.番号 >= 17000);

とか、バージョンが明記されていませんが、row_number関数が使えるなら
select 品目,番号,日時,数量
from (
select a.*, row_number() over(order by 番号) rnum f
rom 作業 a
where 番号 >= 17000)
where rnum = 1;

というのもありますね。
    • good
    • 0

select 品目,番号,日時,数量


from ( select 品目,番号,日時,数量
from 作業
where 番号>=17000 order by 番号 )
where rownum=1;

必要があれば、ORDER BY の条件に日時、品目などを追加してください。
    • good
    • 0

まず


 Select Min(番号) From TBL作業 Where 番号>=17000;
これが17000以上のうち最小の番号(17010)を取得するSQL。

これを条件に値を取得する事で
 Select * From TBL作業 Where 番号=(Select Min(番号) From TBL作業 Where 番号>=17000);
番号が17010のレコードを取得する事が出来ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!