SQL select 不同的值,其中 Status = MAX
SQL select distinct value where Status = MAX
我有一个 Table 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" 只向我显示其中一个部件具有最大状态的 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
可以用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
我有一个 Table 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" 只向我显示其中一个部件具有最大状态的 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
可以用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