MySQL返回不同数量的行

时间:2019-09-28 13:52:24

标签: mysql

如果我在其中一张表上运行SELECT * FROM table;,则会得到 87709 行。

如果我在同一张表上运行SELECT * FROM table WHERE isDeleted = 0 OR isDeleted = 1;,则会得到 87686 行。

isDeleted 仅具有0或1的值,我已经用SELECT DISTINCT isDeleted FROM table;确认了

缺少的23行在哪里?


答案:

感谢Roland Aaronson,指出phpMyAdmins的“计数”不如COUNT(*)准确。

SELECT COUNT(*) FROM table;SELECT COUNT(*) FROM table WHERE isDeleted = 0 OR isDeleted = 1;给出了相同数量的行! *是*

3 个答案:

答案 0 :(得分:1)

运行此查询SELECT * FROM table WHERE isDeleted ISNULL,然后您将使用空行。如果它有23行,那就是问题所在

答案 1 :(得分:0)

尝试:

SELECT isDeleted, COUNT(*) from table GROUP BY isDeleted;

如果您想获得准确的计数和所有不同的值。我猜您的“计数”可能是phpMyAdmin之类的内容,可能不准确。

答案 2 :(得分:-1)

您可以通过

确认值不为空。
  

SELECT * FROM表WHERE isDeleted IS NOT NULL