我想弄清楚如何在不存在关联示例的情况下在不同日期记录计数。SQL:获取计数返回0,同时在一个表中使用组
我的示例表包含以下几列:date_created
和key
我想看到的是:
date count
---------- -----
2014-01-27 3
2014-01-26 0
2014-01-25 1
但我看到的是:
date count
---------- -----
2014-01-27 3
2014-01-25 1
这里是我的查询我正在运行哪些只会在记录存在时给予计数:
SELECT CAST(created_date as date), COUNT(*)
FROM TEST
WHERE CAST(created_date as date) >= '2014-01-21' AND
CAST(created_date as date) <= '2014-08-02' AND
key = 'foobar'
GROUP BY CAST(created_date as date)
道歉,如果我做了一些不必要的事情。从我研究的内容来看,我已经看到了一些使用左连接的解决方案;然而,作为SQL的初学者,我对理解逻辑确实有些困难。
为什么要投射'created_date'?如果它的日期时间或日期数据类型不需要这样做。如果它的varchar那么你可能需要使用'str_to_date()'。尝试在sqlfiddle.com上添加一些示例数据来调试问题。 – 2014-09-04 07:41:34
嗨,阿比克,我推出它,因为它包含一个时间戳,但我不需要这些信息。我基本上每天都想知道记录的数量,所以我将日期时间转换为一个简单的日期,以便基本上切断时间戳。 – user2662437 2014-09-04 07:44:02
日期'2014-01-26'没有记录... – zhongxiao37 2014-09-04 07:55:56