我有一个表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
我想要“select distinct”查询,它只向我显示具有该部分之一的最大状态的OrderIds。
结果:
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
它可以通过Group by Clause和Max Function实现。
SELECT ORDERID, MAX(STATUS) FROM ERPINFORMATIONS GROUP BY ORDERID;
SQL脚本显示具有最大可用状态的不同ORDERID。
它很容易实现结果
select OrderId,max(Status) from ErpInformations
group by OrderId