如何在同一时间间隔内找到多个日志?

时间:2013-07-31 18:46:04

标签: mysql

我有一个包含两列重要性的表,客户ID#和时间戳。每当客户订购某些东西时,就会创建五行,其中包含客户ID#和它经过的时间戳。

如果行数超过五行,则意味着我们的系统未正确处理订单并且可能存在问题,我被要求查看日志以查找收到的客户ID超过5,以及他们收到错误金额的次数和每次收到的次数(当时不是5次)

我想让它告诉我,只要同一个客户ID(在“ID”栏中)有超过5行且具有相同的时间戳(列“标记”),它就会告诉我1.该人的客户ID 2.如何很多时候,这个不规则性发生在那个客户ID上,以及3.每个不规则中有多少行(是6或7 ......或更多?等等)(如果#2是3次,我希望#3到是一个像{7,8,6}}

的数组

我不知道这是否可能......但任何帮助都将受到赞赏。谢谢!

2 个答案:

答案 0 :(得分:0)

这应该可以帮到你的大部分地方:

SELECT `CustomerID`, `Timestamp`, COUNT(1)
FROM
    OrderItems
GROUP BY
    `CustomerID`, `Timestamp`
HAVING
    COUNT(1) > 5

答案 1 :(得分:0)

这将为您提供超过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