【发布时间】:2017-11-09 20:01:18
【问题描述】:
我需要计算具有独特 ItemID 的所有行:具有该 ItemID 的项目上具有最高 RevisionID 的行。这是我的代码(相关部分):
(
SELECT count(parent.ItemID) FROM item AS parent
INNER JOIN item AS child ON parent.ItemID = child.ItemID AND parent.RevisionID = Max(child.RevisionID)
WHERE parent.orderID = orders.orderID AND parent.StatusInfo != '2'
) as notordered,
如果您取出“AND parent.RevisionID = Max(child.RevisionID)”,则该代码有效,但随后它会占用所有项目的修订版。我知道我不能在 INNER JOIN ON 的情况下使用“Max”,但我找不到一种方法来获得它,它与带有子查询的规则 parent.ItemID = child.ItemID 一致。 请帮忙。
示例:
输入
A- ID:1 RevID:2
B- ID:1 RevID:3
C- ID:2 RevID:4
返回:
B & C,因为它们有唯一的 ID:s 和具有该 ID 的最高 RevID
【问题讨论】:
-
只是一个提示就可以了,我可以从那里开始工作
-
给我们举个例子说明数据是怎样的,你想要的结果如何
-
提供了提示。往上看。或查看stackoverflow.com/questions/17882073/…
-
谢谢草莓! Link完美地回答了我的问题,现在很抱歉怀疑用户群!你统治!
标签: mysql sql subquery max inner-join