我仍然感到惊讶的是,为什么这样简单的查询不起作用:
SELECT COUNT(DISTINCT *) FROM dbo.t_test
相反,
SELECT COUNT(DISTINCT col1) FROM dbo.t_test
并且
SELECT DISTINCT * FROM dbo.t_test
运行正常。
那有什么替代方案吗?
编辑:
DISTINCT *
会检查(col1、col2等)的组合键的唯一性,并返回这些行。我预期 COUNT(DISTINCT *) 只返回这些行的数量。我错过了什么吗?