我有一些来自不同来源的历史数据,我想编译成一个折线图。
下面是我正在使用的一个示例sql fiddlehttps://www.db-fiddle.com/f/opregt1gez55ty5xumu6jz/1
但是,我需要处理各种情况。在下面的场景中,我总是有3个源(a,b,c)。b和c总是带来价值,但a是遇到问题的运行。
用户要求提供1月1日至1月5日的数据。
消息人士a无法带来1月3日的数据。我的折线图应该显示1月1日、2日、4日和5日的值。它跳过3,因为不存在源a的值。
由于缺少连接,源a在1月3日之后没有提供任何更新。我的折线图应该显示1月1日和2日的值。没有3、4或5,因为我们缺少来自源a的值。
1月3日后,a源关闭。我的折线图应该显示从1月1日到5日的所有值。即使源a关闭,我们仍然希望看到所有的值。
源a在1月3日之后作为一个新的数据源出现。我的折线图应该显示从1月1日到5日的所有值。
源a只能提供1月3日以后的更新(即使他们应该在1月1日以后给我们提供值)。我的折线图应该只显示从1月3日到5日的值。
我正试图在mysql中实现这一点。我使用groupby和having得到了一个简单的查询,但是这还不足以满足上面的用例。我本来打算用这个来写一个cte,或者使用partitionby,但又一次陷入了无法满足所有条件的困境。
1条答案
按热度按时间oknwwptz1#
你为什么不跳过考试呢
HAVING
因此,您将获得1月3日的所有数据,尽管1月2日的源a中没有数据。