按“键”列分组并获取具有一个有效值和零值的记录

问题描述

我们有这样一种情况,即按组按关键列,我只需要获取具有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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...