我有一张这样的table
A)
正如您所看到的,同一个ID
可以有多个Revision ID
现在,我可以通过使用MAX
和GROUP BY
获取每个ID的所有最新修订版,如下所示:
SELECT *, MAX(revision_id)
FROM content_moderation_state_field_revision
GROUP BY id DESC;
B)
如此处所示,修订ID 47141是ID 3282的最新修订版本
“我的目标是"
我想做的是进一步过滤这些(屏幕截图B)结果,仅过滤最新/最高版本的published
仲裁状态。
不过,如果我试
SELECT *, MAX(revision_id)
FROM content_moderation_state_field_revision
WHERE moderation_state = 'published'
GROUP BY id DESC;
我得到
C)
这不是我想要的,因为它不再获取每个ID的最新/最高修订版。47139不是3282的最高/最新修订版,而是47141,如屏幕截图B所示。
我在这里只想显示3278行,因为这是唯一一行,它也具有最新/最高修订版本,并具有已发布的审核状态(请参见屏幕截图B)
"在一个疯子"
我只想选择“已发布”且具有最大revision_id的行
我怎样才能实现我的目标?这可能吗?
1条答案
按热度按时间nfs0ujit1#
可以将条件逻辑与
HAVING
子句沿着使用,例如