开发者社区> 问答> 正文

任何数据库表上的“从table_name中选择count(1)”是什么意思?

执行时,select count(*) from table_name它返回行数。

怎么count(1)办?1在这里表示什么?这是否相同count(*)(因为它在执行时给出相同的结果)?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:18:35 537 0
1 条回答
写回答
取消 提交回答
  • COUNT函数的参数是要为每一行求值的表达式。COUNT函数返回表达式计算结果为非空值的行数。(*是一个不计算的特殊表达式,它仅返回行数。)

    该表达式还有两个附加修饰符:ALL和DISTINCT。这些确定重复项是否被丢弃。由于ALL是默认设置,因此您的示例与count(ALL 1)相同,这意味着将保留重复项。

    由于表达式“ 1”的每一行求值为非空,并且由于您没有删除重复项,因此COUNT(1)始终应返回与COUNT(*)相同的数字。

    2019-11-18 17:18:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载