表: 邮件表
+------------+--------------+ | 字段名称 | 类型 | +------------+--------------+ | 编号 | int | | 寄信人编号 | int | | 收信人编号 | int | | 枚举类型 | varchar(512) | | 日期 | date(255) | +------------+--------------+ 编号 是该表的主键。 该表的每一行记录“邮件APP”的邮件数据,包含了编号、寄信人编号、收信人编号、 枚举类型(completed 表示邮件发送成功,no_completed 表示邮件发送失败)。
表: 用户表
+-------------+--------------+ | 字段名称 | 类型 | +-------------+--------------+ | 用户编号 | int(11) | | 是否为黑名单 | varchar(512) | +-------------+---------------+ 用户编号 是该表的主键。 用户编号 是 “邮件表” 表中 用户编号 的外键。 该表的每一行记录了“邮件APP”的所有用户信息,包括用户编号 、是否为黑名单。 其中,是否为黑名单中值为 0 表示是白名单用户,值为 1 表示是黑名单用户。
编写一个SQL查询,查询邮件发送和接收方都为白名单时, 每天邮件发送失败的概率是多少?并请按照日期升序排列。
查询结果如下例所示。
示例 1:
输入: 表:邮件表 +----+-------+-------+--------------+-------------+ | 编号 | 寄信人编号 | 收信人编号 | 枚举类型 | 日期 | +----+-------+-------+--------------+-------------+ | 1 | 2 | 3 | completed | 2020-01-11 | | 2 | 1 | 3 | completed | 2020-01-11 | | 3 | 1 | 4 | no_completed | 2020-01-11 | | 4 | 3 | 1 | completed | 2020-01-12 | | 5 | 3 | 4 | completed | 2020-01-12 | | 6 | 4 | 1 | completed | 2020-01-12 | +----+-------+-------+--------------+-------------+ 表:用户表 +------+---------+ | 用户编号 | 是否为黑名单 | +------+---------+ | 1 | 0 | | 2 | 1 | | 3 | 0 | | 4 | 0 | +------+---------+ 输出: +------------+---------+ | 日期 | 失败率 | +------------+---------+ | 2020-01-01 | 0.5 | | 2020-01-12 | 0 | +------------+---------+
