首页 > 解决方案 > 如何将多个视图变成 1 个视图 mysql

问题描述

在此处输入图像描述

根据这张图片,有一个买家数据在同一时期进行交易,例如第一个有29个买家在 2017 年 7 月 1 日至 9 月 30 日和 2017 年 4 月 1 日至 6 月 30 日之间进行交易,使用此语法

CREATE VIEW sum_ba as (SELECT 
    b.buyer_id
FROM order_buyer b
WHERE
    EXISTS (SELECT 1 FROM order_buyer d
            WHERE d.buyer_id = b.buyer_id AND
                  d.createdAt >= '2017-04-01' AND d.createdAt < '2017-07-01') AND
    EXISTS (SELECT 1 FROM order_buyer d
            WHERE d.buyer_id = b.buyer_id AND
                  d.createdAt >= '2017-04-01' AND d.createdAt < '2017-07-01' ) AND
    NOT EXISTS (SELECT 1 FROM order_buyer d
                WHERE d.buyer_id = b.buyer_id AND d.createdAt < '2017-04-01') group by buyer_id);

这是正确的,但是我如何查看 2017 年 7 月 1 日至 2017 年 9 月 30 日期间的所有交易,因此也会出现3098的值。

我预期的结果是当我推出 2017 年 7 月 1 日至 2017 年 9 月 30 日的视图时,从 2017 年 4 月 1 日至 2017 年 6 月 30 日,它变成了29 个买家,2017 年 7 月 1 日至 2017 年 9 月 30 日有 3098 个买家,总数为3127 个买家2017 年 7 月 1 日至 2017 年 9 月 30 日

标签: mysqlsqlmysql-workbenchsql-view

解决方案


推荐阅读