推送记录日志查询方法
更新时间: 2026-01-30 14:48:22
阅读 15
推送记录日志查询方法
1.问题背景
用户侧需要统计推送的历史记录信息,包含报告名称、推送状态、创建时间、推送对象、推送频率等
2.SQL示例
SELECT TIMESTAMP(DATE_FORMAT(`t1`.`create_time`, '%Y-%m-%d %H:%i:%s')) AS `d0`,
`t2`.`title` AS `d1`,
`t5`.`title` AS `d2`,
`t3`.`unique_id` AS `d3`,
TIMESTAMP(DATE_FORMAT(`t2`.`create_time`, '%Y-%m-%d %H:%i:%s')) AS `d4`,
(CASE WHEN (`t2`.`frequency` = 4) THEN '小时' WHEN (`t2`.`frequency` = 3) THEN '月' WHEN (`t2`.`frequency` = 2) THEN '周' WHEN (`t2`.`frequency` = 1) THEN '天' ELSE CAST(`t2`.`frequency` AS CHAR(255)) END) AS `d5`,
(CASE WHEN (`t2`.`category` = '1') THEN '立即推送' WHEN (`t2`.`category` = '0') THEN '定时推送' ELSE CAST(`t2`.`category` AS CHAR(255)) END) AS `d6`,
`t2`.`receiver_list` AS `d7`,
`t4`.`name` AS `d8`,
(CASE WHEN (`t1`.`status` = 1) THEN '成功' WHEN (`t1`.`status` = 0) THEN '失败' ELSE CAST(`t1`.`status` AS CHAR(255)) END) AS `d9`
FROM `youdata`.`dashboard_mail_record` AS `t1`
LEFT JOIN `youdata`.`dashboard_mail` AS `t2` ON (`t1`.`dashboard_mail_id` = `t2`.`id`)
LEFT JOIN `youdata`.`bigviz_user` AS `t3` ON (`t2`.`creator_id` = `t3`.`id`)
LEFT JOIN `youdata`.`project` AS `t4` ON (`t2`.`project_id` = `t4`.`id`)
LEFT JOIN `youdata`.`new_report` AS `t5` ON (`t2`.`resource_id` = `t5`.`id`)
GROUP BY TIMESTAMP(DATE_FORMAT(`t1`.`create_time`, '%Y-%m-%d %H:%i:%s')),
`t2`.`title`, BINARY `t2`.`title`,
`t5`.`title`, BINARY `t5`.`title`,
`t3`.`unique_id`, BINARY `t3`.`unique_id`,
TIMESTAMP(DATE_FORMAT(`t2`.`create_time`, '%Y-%m-%d %H:%i:%s')),
(CASE WHEN (`t2`.`frequency` = 4) THEN '小时' WHEN (`t2`.`frequency` = 3) THEN '月' WHEN (`t2`.`frequency` = 2) THEN '周' WHEN (`t2`.`frequency` = 1) THEN '天' ELSE CAST(`t2`.`frequency` AS CHAR(255)) END), BINARY (CASE WHEN (`t2`.`frequency` = 4) THEN '小时' WHEN (`t2`.`frequency` = 3) THEN '月' WHEN (`t2`.`frequency` = 2) THEN '周' WHEN (`t2`.`frequency` = 1) THEN '天' ELSE CAST(`t2`.`frequency` AS CHAR(255)) END),
(CASE WHEN (`t2`.`category` = '1') THEN '立即推送' WHEN (`t2`.`category` = '0') THEN '定时推送' ELSE CAST(`t2`.`category` AS CHAR(255)) END), BINARY (CASE WHEN (`t2`.`category` = '1') THEN '立即推送' WHEN (`t2`.`category` = '0') THEN '定时推送' ELSE CAST(`t2`.`category` AS CHAR(255)) END),
`t2`.`receiver_list`, BINARY `t2`.`receiver_list`,
`t4`.`name`, BINARY `t4`.`name`,
(CASE WHEN (`t1`.`status` = 1) THEN '成功' WHEN (`t1`.`status` = 0) THEN '失败' ELSE CAST(`t1`.`status` AS CHAR(255)) END), BINARY (CASE WHEN (`t1`.`status` = 1) THEN '成功' WHEN (`t1`.`status` = 0) THEN '失败' ELSE CAST(`t1`.`status` AS CHAR(255)) END)
ORDER BY (TIMESTAMP(DATE_FORMAT(`t1`.`create_time`, '%Y-%m-%d %H:%i:%s')) IS NULL) ASC, TIMESTAMP(DATE_FORMAT(`t1`.`create_time`, '%Y-%m-%d %H:%i:%s')) DESC
LIMIT 20
文档反馈
以上内容对您是否有帮助?