Mysql 如何在同一时间间隔内查找多个日志?
我有一个表,有两列重要信息,客户ID和时间戳。每当客户订购某物时,都会创建五行,其中包含客户ID和订购时间戳 如果超过五行,这意味着我们的系统没有正确处理订单,可能存在问题。我被要求查看日志,查找收到超过5行订单的任何人的客户ID,以及他们收到错误金额的次数和每次收到的数量(当不是5行时) 我想让它告诉我,每当同一个客户ID(在“ID”列)有超过5行具有相同的时间戳(列“stamp”)时,它会告诉我1。此人的客户ID为2。该客户ID发生了多少次这种异常情况,以及3。每个不规则项中有多少行(是6行还是7行…或更多?等等)(如果#2是3次,我希望#3是类似{7,8,6}的数组)Mysql 如何在同一时间间隔内查找多个日志?,mysql,Mysql,我有一个表,有两列重要信息,客户ID和时间戳。每当客户订购某物时,都会创建五行,其中包含客户ID和订购时间戳 如果超过五行,这意味着我们的系统没有正确处理订单,可能存在问题。我被要求查看日志,查找收到超过5行订单的任何人的客户ID,以及他们收到错误金额的次数和每次收到的数量(当不是5行时) 我想让它告诉我,每当同一个客户ID(在“ID”列)有超过5行具有相同的时间戳(列“stamp”)时,它会告诉我1。此人的客户ID为2。该客户ID发生了多少次这种异常情况,以及3。每个不规则项中有多少行(是6行
我不知道这是否可能。。。但任何帮助都将不胜感激。谢谢 这应该能让你在这方面走得更远:
SELECT `CustomerID`, `Timestamp`, COUNT(1)
FROM
OrderItems
GROUP BY
`CustomerID`, `Timestamp`
HAVING
COUNT(1) > 5
这将获得超过5行的ID和时间戳。我假设所有5行(或更多行)的时间戳都是相同的
SELECT A.ID, A.TIMESTAMP
FROM "TABLE" A
WHERE
(SELECT COUNT(B.ID)
FROM "TABLE" B
WHERE B.ID = A.ID
AND B.TIMESTAMP = A.TIMESTAMP) > 5