1
    SELECT count(DISTINCT`account_id`, `company`, `department`, `title`, `start_at`, `end_at`, `type`, `create_at`, `update_at`) FROM `experience`;

    SELECT DISTINCT `account_id`, `company`, `department`, `title`, `start_at`, `end_at`, `type`, `create_at`, `update_at` FROM `experience`;

这两个 sqls 的结果不匹配。第一个结果是 3670,第二个是 4564 条记录。

谁能告诉我为什么?

4

1 回答 1

1

因为COUNT DISTINCT不考虑存在列值的行NULL

我对我的表尝试相同的查询。在我的表中的某些行中有带有NULL值的列,因此结果不同。

请参阅此示例 SQLFiddle

于 2013-09-03T10:23:20.457 回答