Mysql 关于如何每天提取不同的最后一次触摸值的方法

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

快速概述;想象一个场景,其中只有一个ID(我们称之为123)应该只触发一个事件(我们称之为AAA),但由于应用程序的性质,ID 123在5天内触发了一次事件AAA,实际上,一个ID应该只有一个事件触发器(为什么不发生这种情况有各种场景)。基本上,这里的整个想法是得到我们称之为最后一次触摸的结果,也就是说在事件AAA由ID 123触发的5天内(每天),确认的触发应该只在第5天,我想消除第1、2、3和4天的ID 123计数

更好地描述事物

示例数据

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实现目标。非常感谢您抽出时间:)