私はバージョンAdvantage Database Serverを使用しています:10.10.0.49。ID変数の変更時にADSが行番号をリセットすると、falseが返されます
idの変更時にリセットされる行番号を作成しようとしています。
私はMySQLで同様のコードをテストしています。
Advantageでは、変数は両方とも期待値ではなく「false」を返します。
私はこのテストコードをADS Architectに作成しました。
Item | row_num | ids |id |descrip
-----|---------|------|---|--------
1 |FALSE |FALSE |1 |abc
2 |FALSE |FALSE |1 |xyz
3 |FALSE |FALSE |1 |hij
4 |FALSE |FALSE |2 |abc
5 |FALSE |FALSE |2 |hij
を返し
drop table test;
create table test (id varchar(5),descrip varchar(10));
insert into test (id,descrip) values ('1','abc');
insert into test (id,descrip) values ('1','xyz');
insert into test (id,descrip) values ('1','hij');
insert into test (id,descrip) values ('2','abc');
insert into test (id,descrip) values ('2','hij');
set @ids = '';
set @row_num = 0;
select
@row_num = case when @ids = id then @row_num + 1 else 1 end AS row_num
,@ids = id as ids
,id
,descrip
from
test
order by
id
... ...と私は
Item | row_num | ids |id |descrip
-----|---------|------|---|--------
1 |1 |1 |1 |abc
2 |2 |1 |1 |xyz
3 |3 |1 |1 |hij
4 |1 |2 |2 |abc
5 |2 |2 |2 |hij
Over
を期待していた。.. Partition By
は、私の知る限りADSでサポートされていません。
ありがとう、ジェンスズ、それは動作します。私はそれを私の本当のデータに今マップする必要があります - それは私にとっては馴染みのない方法だから面倒なこともありますが、あなたは大きな助けになりました。 –