按条件查找MIN&MAX值:SQL查询需求及代码优化咨询
SQL查询逻辑实现求助
查询规则
- 优先选取
Number值对应Unique_2为MIN的行 - 若同一
Unique_1下存在Unique_2不等于MIN的记录,则选取该Unique_1对应的Number值为MAX的行
当前使用的SQL代码
select T1.Unique_1, T1.Unique_2, Case WHEN T2.MIN_Number is not NULL then T2.MIN_Number ELSE T3.MAX_Number end as Number from Table_1 as T1 LEFT JOIN ( SELECT Unique_1, MIN(Number) as MIN_Number From Table_1 WHERE Unique_2 = 'MIN' GROUP BY Unique_1) AS T2 ON T1.Unique_1 = T2.Unique_1 LEFT JOIN( SELECT Unique_1, MAX(Number) as MAX_Number From Table_1 WHERE Unique_2 = 'MAX' GROUP BY Unique_1) AS T3 ON T1.Unique_1 = T3.Unique_1
当前代码无法正确实现上述查询逻辑,请求提供符合规则的SQL实现思路与修正方案。
内容的提问来源于stack exchange,提问作者Petras
相关产品推荐
相关产品推荐

