计数(*)对计数(1)对计数(PK):哪个更好?我经常发现这三个变体:SELECT COUNT(*) FROM Foo;SELECT COUNT(1) FROM Foo;SELECT COUNT(PrimaryKey) FROM Foo;据我所见,他们都在做同样的事情,我发现自己使用了我的代码库中的三个。然而,我不喜欢用不同的方式做同样的事情。我该坚持哪一个?他们中有谁比那两个人好吗?
3 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
COUNT(*)计数行数 COUNT(1)还计算行数。
pk
COUNT(pk)还计算行数。
pk
COUNT(possibly_null)计算列中具有非空值的行数。 possibly_null.COUNT(DISTINCT pk)还计算行数(因为主键不允许重复)。 COUNT(DISTINCT possibly_null_or_dup)计算列中不同的非空值数。 possibly_null_or_dup.COUNT(DISTINCT possibly_duplicated)计算列中不同(必然为非空)值的数目。 possibly_duplicated当它有 NOT NULL上面的条款。
COUNT(*)EXISTSWHERE EXISTS(SELECT * FROM ...)
一只斗牛犬
TA贡献1784条经验 获得超2个赞
count(*)count(1)count(pk).
- 3 回答
- 0 关注
- 430 浏览
添加回答
举报
0/150
提交
取消
