Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 具有多个查询选项的累积值_Sqlite - Fatal编程技术网

Sqlite 具有多个查询选项的累积值

Sqlite 具有多个查询选项的累积值,sqlite,Sqlite,我在sqlite3中得到了一个包含数千行的表,并希望为特定查询创建几天的累积总和。我尝试了一些我在这里找到的东西,但是没有任何东西给我我正在寻找的东西 下面是我表格的一部分,作为示例值: id|killmailid|killmaildate|killmailtime|attallianceid|attcharid|attship 69124|69295810|2018-04-12|00:57|99007379|1129992577|11393 69125|69295810|2018-04

我在sqlite3中得到了一个包含数千行的表,并希望为特定查询创建几天的累积总和。我尝试了一些我在这里找到的东西,但是没有任何东西给我我正在寻找的东西

下面是我表格的一部分,作为示例值:

id|killmailid|killmaildate|killmailtime|attallianceid|attcharid|attship    
69124|69295810|2018-04-12|00:57|99007379|1129992577|11393
69125|69295810|2018-04-12|00:57|99007379|90279655|29990
69126|69298874|2018-04-12|02:07|99007379|2008187055|671
69127|69300565|2018-04-12|07:32|99007379|96282716|28665
69128|69300565|2018-04-12|07:32|99007379|96734967|11198
69129|69300911|2018-04-12|10:21|99007379|90154776|608
69130|69302387|2018-04-12|11:29|99007379|91488317|23913
我们正在用这个数据库中的数据做一些事情,但是现在我们想用attship得到attcharid的累积值

我做的第一件事是获取不同的attcharid,其中attship=X,因此我的查询如下所示:

SELECT killmaildate, count(DISTINCT attcharid)
FROM killdata
WHERE killmaildate BETWEEN date('2018-04-12') AND date('2018-04-30') 
AND attship = '23913' 
AND attallianceid = '99007379'
GROUP BY killmaildate;
这给了我一个很好的列表,每个killmaildate的attcharid使用attship

2018-04-12|27
2018-04-14|13
2018-04-15|29
2018-04-16|10
2018-04-17|7
2018-04-18|34
2018-04-19|8
2018-04-20|39
现在是给我带来麻烦的部分。我想把这些阿特查利加在一起,但它也应该是不同的,这意味着只有新的阿特查利在阿特希普中应该被添加

那么,假设2018-04-12有27个attcharid在attship,2018-04-13有13个attcharid在attship,但其中10个已经在第一天计算,2018-04-13的累积值应该是30而不是40

我在这里尝试了一些东西,但没有真正奏效,我最后一次尝试是:

SELECT killmaildate, sum(attcharid)
FROM ( SELECT killmaildate, count(DISTINCT attcharid) FROM killdata);
当然,这并不能让我达到我想要的目的。
最后,我想在attallianceid中绘制一个attship图表,以查看attship用户的增长情况。

忽略之前某个组中出现的所有行:

SELECT ...
WHERE ...
  AND attcharid NOT IN (SELECT attcharid
                        FROM killdata AS k2
                        WHERE k2.killmaildate BETWEEN '2018-04-12' AND '2018-04-30'
                          AND k2.attship = '23913'
                          AND k2.attallianceid = '99007379'
                          AND k2.killmaildate < killdata.killmaildate)
GROUP BY ...

你忘记添加链接了