2013-07-31 42 views
0

我有一个重要的两列,客户ID和时间戳的表。每当客户订购一些东西时,就会创建五行,其中包含客户ID号和时间戳。如何在同一时间间隔内找到多个日志?

如果行数超过五行,这意味着我们的系统没有正确处理该订单并且可能存在问题,并且我被要求查看日志以查找任何接收到更多人的客户ID比5,以及他们收到了多少次不正确的金额和他们每次收到的数量(当它不是5)

我希望它显示我,每当相同的客户ID(在列“ID” )具有超过5行,具有相同的时间戳(列“邮票”),它会告诉我1.该人的客户ID 2.该客户ID发生这种不规则性的次数,以及3.每个不规则性中有多少行(是6或7 ...还是更多?等等)(如果#2是3次,我想#3是像{7,8,6}这样的数组)

我不知道这是否可能......但任何帮助都将不胜感激。谢谢!

回答

0

这应该让你最那里的方式:

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

这将让你的ID和时间戳超过5行。我假设所有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 
相关问题