Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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,我试图理解一个有超过300万行的表的数据,但是这些数字加起来并不正确。它返回的行数少于表包含的行数 SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) > 1; -- rows returned: 29 SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) = 1; -- rows returned: 3078021 SELECT url FRO

我试图理解一个有超过300万行的表的数据,但是这些数字加起来并不正确。它返回的行数少于表包含的行数

SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) > 1; -- rows returned: 29
SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) = 1; -- rows returned: 3078021
SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) < 1; -- rows returned: 0
SELECT COUNT(*) FROM `archived_urls`;                               -- rows returned: 3078080
SELECT COUNT(url) FROM `archived_urls`;                             -- rows returned: 3078080

剩下的30排在哪里?我甚至试图用NOT IN找到它们,但都没有成功。

没有记录丢失,你是在比较苹果和梨

您的第一个查询是:

SELECT url FROM `archived_urls` GROUP BY url HAVING COUNT(url) > 1; -- rows returned: 29
29是表中多次出现的URL数,但不是包含这些URL的记录数

查看以下查询结果:

SELECT url, count(url) FROM `archived_urls` GROUP BY url HAVING COUNT(url) > 1;

返回的行仍然是29行,但如果在counturl列中添加值,则会得到31行。

您是否尝试过从存档的URL中选择counturl,结果如何?您可能有一些空值?我检查了空值,但情况并非如此。我检查了COUNTurl和COUNTnull,问题仍然存在。即使我没有,NOT IN查询肯定会捕获到任何剩余内容?缺少的是您第一次查询中的重复内容。有29个URL具有重复内容。因此,这些URL至少有2x29=58行。为什么只加29?
SELECT url, count(url) FROM `archived_urls` GROUP BY url HAVING COUNT(url) > 1;