我有一个看起来像这样的表结构:
我有一个完美运行的查询,可以计算过去 30 天每天有多少条记录。它看起来像这样:
SELECT DATE(timestamp) AS date, COUNT(id) AS emails FROM 'emails WHERE timestamp >= now() - interval 1 month GROUP BY DATE(timestamp)
这会输出以下内容,非常好:
然而,接下来的事情对我来说似乎太难以想象了。现在我想计算过去 30 天每天有多少条记录,但仅限于时事通讯 = 1 的情况。
我试图放置一个如下所示的 WHERE 语句:
SELECT DATE(timestamp) AS date, COUNT(*) AS emails, nyhedsbrev FROM emails WHERE timestamp >= now() - interval 1 month AND nyhedsbrev = 1 GROUP BY DATE(timestamp)
...这会输出以下内容:
问题是,它省略了 newsletter = 0 的记录,因此我无法将我的第一个查询与新查询进行比较,因为日期不匹配。我知道那是因为我使用 WHERE newsletter = 1。
而不是省略记录,我想要一个从该日期起只输入“0”的查询。我怎样才能做到这一点?最后的查询应该输出这个: