2017-08-06 76 views
0

enter image description hereSQLite的:随着时间的推移跟踪值

这是一个后续行动Sqllite: finding abnormal values over time

再次我有以下sqllite表:

CREATE TABLE test (
    id INTEGER NOT NULL, 
    date TEXT, 
    account TEXT, 
    ........ 
    value INTEGER, 
    ....... 
    PRIMARY KEY (id), 
    CONSTRAINT composite UNIQUE (date, account) 
    ) 

我想找到所有行,其中值在两个不同的日期大于0。我在想:

SELECT * from test WHERE value> 0 GROUP BY account 

可能是一个开始。上一个问题的答案确实会产生帐号,但我希望在不同日期查看每个帐号的所有行,以便随时跟踪值。

顺便说一句,在截图标题是ID,日期,ACCOUNT_NUMBER,VALUE

回答

1

尝试:

SELECT * 
FROM test 
WHERE account IN (
    SELECT a.acount 
    FROM test a 
    JOIN test b 
    ON a.account = b.account 
     AND a.date <> b.date 
     AND a.value > 0 
     AND b.value > 0 
) 
ORDER BY account, date 
+0

谢谢你,这确实工作。如果我有三个不同的日期呢? – user61629

相关问题