【发布时间】:2017-09-26 14:00:12
【问题描述】:
我正在尝试编写一个 SQLite 查询来获取一个值的总出现次数,除以月数。
所需输出的示例:
Name Jun Jul Aug Sept
John 3 2 5 2
Robert 4 12 45 22
Linda 0 2 1 0
我希望Name 字段只返回唯一的结果,所以它基本上每次在六月、七月等月份出现“约翰”时都会计算在内。
这是我到目前为止所拥有的,使用我的实际数据库。它可以返回正确的列和唯一的“ReasonDetail”,但计数不准确:
SELECT * FROM
(
SELECT ReasonDetail AS Appetite, COUNT(*) AS June
FROM CallRecords
WHERE CallReason = 'Appetite Question'
AND DateTime BETWEEN '2017-06-01 00:00' AND '2017-07-01 00:00'
GROUP BY ReasonDetail
),
(
SELECT COUNT(*) AS July
FROM CallRecords
WHERE CallReason = 'Appetite Question'
AND DateTime BETWEEN '2017-07-01 00:00' AND '2017-08-01 00:00'
GROUP BY ReasonDetail
),
(
SELECT COUNT(*) AS August
FROM CallRecords
WHERE CallReason = 'Appetite Question'
AND DateTime BETWEEN '2017-08-01 00:00' AND '2017-09-01 00:00'
GROUP BY ReasonDetail
)
GROUP BY Appetite
我在这里做错了什么?在这种情况下,有没有更好的方法来编译正确的计数?
谢谢!
【问题讨论】: