gpt4 book ai didi

mysql - 如何将结果集限制为仅 JOIN 中的最新实例

转载 作者:行者123 更新时间:2023-11-29 20:11:41 25 4
gpt4 key购买 nike

我正在创建一份销售 channel 报告,每周记录每个销售人员的赢利和损失。

该报告大部分内容都有效,除了这个让我烦恼的极端情况。这种情况通常不会发生,但如果销售人员将机会转至获胜状态,然后又转回亏损状态,然后再次转至获胜状态 - 则会算作 2 次胜利。我正在寻找某种方法来仅从审计(详细信息)表中获取最新行,其中(a)日期在上周内,(b)after_value 是损失或获胜或损失值。

我尝试在连接中尽可能多地执行此操作,如下所示:

           FROM 
opportunities o ON ao.opportunity_id=o.id
LEFT JOIN opportunities_audit oa ON o.id=oa.parent_id
AND after_value_string IN ('Loss', 'Win')
AND date_created > date_sub(now(), INTERVAL 1 WEEK)
INNER JOIN sweet.users u ON o.assigned_user_id=u.id

但我还没有找到在连接中使用 MAX(id) 之类的方法。我还在 SELECT 中尝试了 MAX(id),但我有几个 sum(IF) 语句,而且我认为必须对每个 sum(IF) 执行此操作没有意义 - 而且我无法弄清楚无论如何,如何让它只适用于其中一个。

我继续使用MAX,或者可能是一个子查询来将表连接到自身并以这种方式获取MAX(id),但我只是还没弄清楚在哪里放置子查询,因为我不希望每个选择使用它。如果这实际上是最好的解决方案。哦,而且,这些表中的 id 看起来像哈希值,所以我不知道 MAX 是否会起作用。叹息一声。

这只是 SELECT 的一部分,以防有帮助:

    , sum(IF(o.sales_stage = 'Win'
AND (o.date_modified > date_sub(now(), INTERVAL 1 WEEK))
, 1,0))
AS 'W'

我希望我已经提供了足够的信息,任何方向/建议将不胜感激!

谢谢!

最佳答案

选择顶部数字|从选择开始的百分比

关于mysql - 如何将结果集限制为仅 JOIN 中的最新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40063715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com