我正在尝试构建一个 SQLite 查询,以从单个表中收集统计信息。
该表保存了某种日志,每天有多个条目。我需要在搜索参数内为每一天获取一个单独的行,然后编译那些日期内具有特定布尔值的行的总数。
以下是我目前拥有的查询:
您可以看到,它正确地获取了每个单独的日期,但列的总计不正确。
显然,在我的查询中我漏掉了一些东西,但我不确定是哪里。有没有更好的方法执行这个查询?
编辑:我已经研究了几个其他问题,标题几乎相同,但我没有找到任何类似于我想要的内容。大多数似乎比我要完成的任务更加复杂。
该表保存了某种日志,每天有多个条目。我需要在搜索参数内为每一天获取一个单独的行,然后编译那些日期内具有特定布尔值的行的总数。
以下是我目前拥有的查询:
SELECT DATE(DateTime) AS SearchDate,
(SELECT COUNT() AS Total
FROM CallRecords
WHERE DATE(DateTime)
BETWEEN '2017-08-27' AND '2017-09-02'
GROUP BY DATE(DateTime)
ORDER BY Total DESC) AS Total,
(SELECT COUNT() AS Total
FROM CallRecords
WHERE NoMarket = 1
AND DATE(DateTime)
BETWEEN '2017-08-27' AND '2017-09-02'
GROUP BY DATE(DateTime)
ORDER BY Total DESC) AS NoMarkets,
(SELECT COUNT() AS Total
FROM CallRecords
WHERE Complaint = 1
AND DATE(DateTime)
BETWEEN '2017-08-27' AND '2017-09-02'
GROUP BY DATE(DateTime)
ORDER BY Total DESC) AS Complaints,
(SELECT COUNT() AS Total
FROM CallRecords
WHERE Voicemail = 1
AND DATE(DateTime)
BETWEEN '2017-08-27' AND '2017-09-02'
GROUP BY DATE(DateTime)
ORDER BY Total DESC) AS Voicemails
FROM CallRecords
WHERE DATE(DateTime) BETWEEN '2017-08-27' AND '2017-09-02'
GROUP BY SearchDate
输出结果:
8/28/2017 175 27 11
8/29/2017 175 27 11
8/30/2017 175 27 11
8/31/2017 175 27 11
9/1/2017 175 27 11
您可以看到,它正确地获取了每个单独的日期,但列的总计不正确。
显然,在我的查询中我漏掉了一些东西,但我不确定是哪里。有没有更好的方法执行这个查询?
编辑:我已经研究了几个其他问题,标题几乎相同,但我没有找到任何类似于我想要的内容。大多数似乎比我要完成的任务更加复杂。
.dump
文件。 - Yunnosch