[英]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;
但是,当然,我得到了总体最高状态。 如何限制呢?
您可以尝试直接将MAX
与group 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.