Mysql 关于如何每天提取不同的最后一次触摸值的方法
快速概述;想象一个场景,其中只有一个ID(我们称之为123)应该只触发一个事件(我们称之为AAA),但由于应用程序的性质,ID 123在5天内触发了一次事件AAA,实际上,一个ID应该只有一个事件触发器(为什么不发生这种情况有各种场景)。基本上,这里的整个想法是得到我们称之为最后一次触摸的结果,也就是说在事件AAA由ID 123触发的5天内(每天),确认的触发应该只在第5天,我想消除第1、2、3和4天的ID 123计数 更好地描述事物 示例数据Mysql 关于如何每天提取不同的最后一次触摸值的方法,mysql,sql,Mysql,Sql,快速概述;想象一个场景,其中只有一个ID(我们称之为123)应该只触发一个事件(我们称之为AAA),但由于应用程序的性质,ID 123在5天内触发了一次事件AAA,实际上,一个ID应该只有一个事件触发器(为什么不发生这种情况有各种场景)。基本上,这里的整个想法是得到我们称之为最后一次触摸的结果,也就是说在事件AAA由ID 123触发的5天内(每天),确认的触发应该只在第5天,我想消除第1、2、3和4天的ID 123计数 更好地描述事物 示例数据 Date ID Event
Date ID Event
=========================
01-09-2018 123 AAA
01-09-2018 456 AAA
02-09-2018 123 AAA
03-09-2018 123 AAA
04-09-2018 123 AAA
05-09-2018 123 AAA
电流输出
Date Count
=================
01-09-2018 2
02-09-2018 1
03-09-2018 1
04-09-2018 1
05-09-2018 1
期望输出
Date Count
==================
01-09-2018 1
02-09-2018 0
03-09-2018 0
04-09-2018 0
05-09-2018 1
我的问题是:
SELECT
date,
COUNT(DISTINCT id)
FROM
[data]
WHERE
event = 'AAA'
AND date >= DATE_SUB(NOW(),INTERVAL 5 DAY)
GROUP BY
date
非常基本的查询,就像目前一样,我所做的是使用上面的查询提取数据,我还提取整个数据库,并使用excel中的lil手动处理它。如果我能建立一个查询,实现上述期望的输出,我将非常感激。(减轻疼痛,因为我每天都使用Supemetrics实现这些自动化)。如果您有关于如何实现这一点的想法(指向教程/方法、指针等的链接),将不胜感激。非常感谢 请运行此查询。为了进行更多的测试,我们需要更多的模式定义和数据
SELECT
date,
COUNT(DISTINCT id)
FROM
[data]
INNER JOIN
(
SELECT
event AS event1,
MAX(date) date1,
FROM [data]
WHERE date >= DATE_SUB(NOW(),INTERVAL 5 DAY)
GROUP BY event
)T
ON [data].event= T.event1
AND [data].date= T.date1
WHERE
event = 'AAA'
AND date >= DATE_SUB(NOW(),INTERVAL 5 DAY)
GROUP BY
date
这里的大多数人都希望样本数据是格式化文本,而不是图像(或图像链接)。
事件
列在哪里?感谢您的反馈,我已经进行了编辑。非常感谢您的反馈,让我了解了如何使用(…)中的视图创建和ID实现目标。非常感谢您抽出时间:)