Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
MySQL在左外部联接上获取重复行_Mysql - Fatal编程技术网

MySQL在左外部联接上获取重复行

MySQL在左外部联接上获取重复行,mysql,Mysql,我正试图从我的数据库中获取每天的事件计数,包括没有数据的天数,我创建了一个日历表,并尝试了我找到的所有建议,但出于某种原因,我每天的事件数一直是原来的两倍。下面是我一直在玩的问题 SELECT DAY(c.datefield) as date, COUNT(s.timestamp) as count FROM calendar c LEFT OUTER JOIN Seizures s ON (DATE(s.timestamp) = c.datefield) WHERE c.datefield

我正试图从我的数据库中获取每天的事件计数,包括没有数据的天数,我创建了一个日历表,并尝试了我找到的所有建议,但出于某种原因,我每天的事件数一直是原来的两倍。下面是我一直在玩的问题

 SELECT DAY(c.datefield) as date, COUNT(s.timestamp) as count
FROM calendar c 
LEFT OUTER JOIN Seizures s ON (DATE(s.timestamp) = c.datefield)
WHERE c.datefield LIKE '2012-11-%'
GROUP BY c.datefield
如果有人能帮我避免我的头撞到桌子上,我将不胜感激

注:


如果我在没有尝试使用联接来填充没有数据的日期的情况下执行直截了当的计数查询,我会得到正确的条目计数。只有在尝试加入时,计数才会由于某种原因加倍。

结果是我的日历表的所有条目都以某种方式重复了。这就是导致计数加倍的原因,@PinnyM让我找到了这个解决方案


Thanx获得帮助。

基于这些结果,您的
日历表似乎包含重复的行。您可以通过运行以下命令进行检查:

SELECT datefield, COUNT(*) FROM calendar
WHERE datefield LIKE '2012-11-%'
GROUP BY datefield
HAVING COUNT(*) > 1

如果返回任何行,然后,在查询按预期工作之前,您需要处理重复项。

您是否尝试选择DISTINCT?您能否验证日历表中本月只有30条记录?向我们显示
扣押
日历
的模式。是扣押。时间戳是时间戳还是日期时间?因此
SELECT*FROM calendar c,其中c.datefield如'2012-11-%'
提供30行?