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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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,我有这两张桌子 调度 CREATE TABLE dispatch ( ID INTEGER PRIMARY KEY NOT NULL, FDID INTEGER, COUNTYNUM TEXT, TRANS1 TEXT ); 有了这些数据 INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470638','28','201612310026','2016-12-31T00:26:

我有这两张桌子

调度

CREATE TABLE dispatch (
    ID INTEGER PRIMARY KEY NOT NULL,
    FDID INTEGER,
    COUNTYNUM TEXT,
    TRANS1 TEXT
);
有了这些数据

INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470638','28','201612310026','2016-12-31T00:26:41.123-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470640','26','201612310031','2016-12-31T00:31:34.747-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470670','26','201612311136','2016-12-31T11:36:33.323-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470688','26','201612311332','2016-12-31T13:32:09.940-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470719','26','201612311929','2016-12-31T19:29:23.487-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470749','28','201612312301','2016-12-31T23:02:06.607-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470769','26','201701010033','2017-01-01T00:33:46.750-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470849','28','201701012101','2017-01-01T21:01:38.073-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470880','28','201701020640','2017-01-02T06:41:10.087-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470893','28','201701021110','2017-01-02T11:10:28.280-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470912','28','201701021333','2017-01-02T13:33:31.247-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470915','26','201701021350','2017-01-02T13:50:48.440-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470918','28','201701021416','2017-01-02T14:16:37.833-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470935','26','201701021546','2017-01-02T15:46:07.347-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470960','28','201701022009','2017-01-02T20:09:33.177-05:00');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('1','7','2','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('2','7','4','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('3','7','12','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('4','7','16','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('5','7','585','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('6','7','2','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('7','7','12','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('9','7','11','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('10','7','593','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('11','7','14','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('12','7','13','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('13','7','11','2017-01-02T13:50:48-0500','2017-01-02T14:50:48-0500','2','201701021350');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('14','7','16','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('15','7','16','2017-01-01T00:33:46-0500','2017-01-01T01:33:46-0500','2','201701010033');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('16','7','2','2017-01-02T13:50:48-0500','2017-01-02T14:50:48-0500','2','201701021350');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('17','13','1','2017-01-02T17:00:00-0500','2017-01-02T21:00:00-0500','1',NULL);
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('18','13','2','2017-01-02T17:00:00-0500','2017-01-02T21:00:00-0500','1',NULL);
积分

CREATE TABLE points (
    rowid INTEGER PRIMARY KEY,
    powId INTEGER,
    userId INTEGER,
    timeStart DATETIME,
    timeEnd DATETIME,
    points NUMERIC,
    COUNTYNUM NUMERIC,
--  FOREIGN KEY(powId) REFERENCES points_power(powId)
--  FOREIGN KEY(userId) REFERENCES users(userId)
    UNIQUE(userId, timeStart, COUNTYNUM) ON CONFLICT IGNORE
);
有了这些数据

INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470638','28','201612310026','2016-12-31T00:26:41.123-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470640','26','201612310031','2016-12-31T00:31:34.747-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470670','26','201612311136','2016-12-31T11:36:33.323-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470688','26','201612311332','2016-12-31T13:32:09.940-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470719','26','201612311929','2016-12-31T19:29:23.487-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470749','28','201612312301','2016-12-31T23:02:06.607-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470769','26','201701010033','2017-01-01T00:33:46.750-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470849','28','201701012101','2017-01-01T21:01:38.073-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470880','28','201701020640','2017-01-02T06:41:10.087-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470893','28','201701021110','2017-01-02T11:10:28.280-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470912','28','201701021333','2017-01-02T13:33:31.247-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470915','26','201701021350','2017-01-02T13:50:48.440-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470918','28','201701021416','2017-01-02T14:16:37.833-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470935','26','201701021546','2017-01-02T15:46:07.347-05:00');
INSERT INTO "dispatch" ("ID","FDID","COUNTYNUM","TRANS1") VALUES ('470960','28','201701022009','2017-01-02T20:09:33.177-05:00');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('1','7','2','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('2','7','4','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('3','7','12','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('4','7','16','2016-12-31T19:29:23-0500','2016-12-31T20:29:23-0500','2','201612311929');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('5','7','585','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('6','7','2','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('7','7','12','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('9','7','11','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('10','7','593','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('11','7','14','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('12','7','13','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('13','7','11','2017-01-02T13:50:48-0500','2017-01-02T14:50:48-0500','2','201701021350');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('14','7','16','2017-01-02T15:46:07-0500','2017-01-02T16:46:07-0500','2','201701021546');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('15','7','16','2017-01-01T00:33:46-0500','2017-01-01T01:33:46-0500','2','201701010033');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('16','7','2','2017-01-02T13:50:48-0500','2017-01-02T14:50:48-0500','2','201701021350');
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('17','13','1','2017-01-02T17:00:00-0500','2017-01-02T21:00:00-0500','1',NULL);
INSERT INTO "points" ("rowid","powId","userId","timeStart","timeEnd","points","COUNTYNUM") VALUES ('18','13','2','2017-01-02T17:00:00-0500','2017-01-02T21:00:00-0500','1',NULL);
我试图根据这两个表生成一个报告。所以我使用了这个查询,但是它没有给我想要的输出

SELECT strftime('%Y', TRANS1) AS Year, strftime('%m', TRANS1) AS Month, COUNT(*) AS Incidents, (SELECT COUNT(COUNTYNUM) FROM points WHERE dispatch.COUNTYNUM = points.COUNTYNUM) AS Zero FROM dispatch WHERE FDID = 26 GROUP BY Year, Month;
我要

Year  Month  Incidents  Zero
2016  12     3          0
2017  01     4          8
当我做这个查询时

SELECT ID, FDID, COUNTYNUM, TRANS1, (SELECT COUNT(*) FROM points WHERE points.COUNTYNUM = dispatch.COUNTYNUM) AS Zero FROM dispatch WHERE FDID = 26 AND Zero = 0;
我得到了正确的结果

ID      FDID  COUNTYNUM     TRANS1                         Zero
470640  26    201612310031  2016-12-31T00:31:34.747-05:00  0
470670  26    201612311136  2016-12-31T11:36:33.323-05:00  0
470688  26    201612311332  2016-12-31T13:32:09.940-05:00  0
这是正确的,但这意味着上一个查询应该返回此表

Year  Month  Incidents  Zero
2016  12     4          1
2017  01     3          0
因为
COUNTYNUM
201612311929
不在结果集中


我不确定我现在是否理解了这一点。Rubby ducky在这个盒子里调试实际上让我更加困惑。主要是因为我给出的示例数据集产生的结果与实际生产数据集的结果不同。如果有人知道我想做什么,我将非常感谢您的帮助。

以下是您查询的相关部分:

SELECT ...,
       (SELECT ... WHERE ... = dispatch.COUNTYNUM)
FROM dispatch
GROUP BY Year, Month;
相关子查询引用
COUNTYNUM
列,但这不是表分组所依据的列之一。这意味着对于每个结果行,组中有多个可能的
COUNTYNUM
值。你得到的是随机的。(这是为了与MySQL兼容;其他数据库报告错误。)