繁体   English   中英

SQL选择状态= MAX的唯一值

[英]SQL select distinct value where Status = MAX

我有一个表ErpInformations。

OrderId PartNo Status  
4711  |  1510 |  0  
4711  |  1511 |  0  
4711  |  1512 |  1  
4712  |  1513 |  3  
4712  |  1514 |  0  
4713  |  1515 |  0  
4713  |  1516 |  0  

我想要“选择不同的”查询,该查询仅向我显示零件之一具有最大状态的OrderId。

结果:

4711 | 1  
4712 | 3  
4713 | 0

有没有人解决?

我的第一次尝试是:

select distinct(OrderId), 
       (select max(Status) from ErpInformations) 
  from ErpInformations;

但是,当然,我得到了总体最高状态。 如何限制呢?

您可以尝试直接将MAXgroup by一起使用

select OrderId,max(Status) 
from ErpInformations
group by OrderId 

可以通过“按条款分组”和“最大功能”来实现。

SELECT ORDERID, MAX(STATUS) FROM ERPINFORMATIONS GROUP BY ORDERID;

SQL脚本显示具有最大可用状态的不同ORDERID。

实现结果非常简单

select OrderId,max(Status) from ErpInformations
group by OrderId 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM