问题描述
我们有这样一种情况,即按组按关键列,我只需要获取具有0和“ ID”列的任何有效数字的组合的记录
带有以下示例
TransId,CustomerNm,Date,Number,Gender,ID
1,Surya,2020-01-01,123456,M,1234
1,0
2,Naren,2020-01-20,3456
2,6789
当我尝试以下查询(关键列:TransId,CustomerNm,Date,Number,性别)
select TransId,Gender from INS.Transaction
group by TransId,Gender having count(*) > 1
i will get both the records
1,M
2,M
但是我正在尝试获取ID = 0的记录。预期输出为
1,M
请提出是否可以在上述查询中添加任何更改
解决方法
在通过在选择查询中添加MIN(ID)然后获取ID 0来进行分组时
select * from (
select TransId,CustomerNm,Date,Number,Gender,MIN(ID) ID from INS.Transaction
group by TransId,Gender having count(*) > 1 ) where ID = 0
,
只需将另一个Stream 0 - Type: Video
Codec: H264 - MPEG-4 AVC (part 10) (avc1)
Stream 1 - Type: Audio
Codec: MPEG AAC (Audio) (mp4a)
添加到hading子句中即可检查是否AND
。我已经重命名了一些列。
min(id) = 0
注意:-请勿使用保留字作为列名,例如select transid,customernm,transaction_date,some_number,gender
from transaction
group by transid,gender
having count(*) > 1 and min(id) = 0;
和date