首页 / 知识
在SQL中,count(列)和count(*)之间有什么区别?
2023-04-15 03:28:00

In SQL, what's the difference between count(column) and count(*)?我有以下查询:
如果我将所有对 这个问题的灵感来自于如何在Oracle中的表中找到重复值?
为了澄清已接受的答案(也许是我的问题),用
[edit]添加了此代码,以便人们可以运行它
结果 使用*和特定列之间的另一个细微差别是,在列情况下,您可以添加关键字DISTINCT,并将计数限制为不同的值:
另一个也许是微妙的区别是,在某些数据库实现中,count(*)是通过查看有问题的表上的索引而不是实际的数据行来计算的。由于没有指定特定的列,因此无需为实际的行及其值而烦恼(如果您计算了特定的列,则会如此)。允许数据库使用索引数据可能比将其计为"实际"行要快得多。 我们可以使用Stack Exchange Data Explorer来说明与简单查询的区别。 Stack Overflow数据库中的Users表具有通常留空的列,如用户的网站URL。
如果在数据资源管理器中运行上面的查询,您将看到 文档中的解释有助于解释这一点:
因此count(*)包含空值,另一种方法则不包含空值。
基本上,
请参阅下面的测试执行代码SQL Server 2008:
如前面的答案中所述,
避免 如果您的表中有一列已修复没有区别,如果您想使用多个列而不是指定需要计算多少列...... 谢谢, 最好用
要计算表中的行数,它比任何格式都要快,因为它永远不会检查列名是否存在于表中 |
最新内容
相关内容
linux线程查询命令?
linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Linux系统如何查看进程的线程数1、第一种方法:top命令法首先执行toplinux命令左右查询?
linux命令左右查询?,系统,信息,管理,地址,工作,命令,文件,单位,位置,数据,linux查看路径命令1、linux命令如果记不得,可以使用man命令来查看某linux简单查询命令?
linux简单查询命令?,地址,命令,信息,设备,电脑,系统,工作,文件,终端,内容,Linux下查看文件命令选择1、查看文件的命令,主要就是用 cat命令, cat+查询linux配置的命令?
查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,在linux下如何通过命令查网卡配置1、linux查看系统网卡信息的命令查询linux配置的命令?
查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,在linux下如何通过命令查网卡配置1、linux查看系统网卡信息的命令linux命令查询时间?
linux命令查询时间?,时间,系统,状态,信息,数据,标准,地址,平台,环境,命令,在windws下模拟Linux下可获取命令执行时间的time命令time命令可以查linux查询翻页命令?
linux查询翻页命令?,工作,地址,系统,信息,命令,工具,目录,管理,暂停,标准,Linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目查询linux上调度命令?
查询linux上调度命令?,系统,策略,实时,信息,状态,时间,进程,电脑,报告,分析,Linux中如何启动进程?进程调度命令有哪些?1、实现调度启动进程的linux查询网关命令?
linux查询网关命令?,网络,信息,地址,环境,系统,网关,名字,中心,状态,命令,linux怎么查看网关1、打开终端窗口。输入以下命令并按下回车键 routlinux命令查询参数?
linux命令查询参数?,网络,信息,设备,系统,服务,状态,情况,工作,地址,命令,Linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux查询硬盘命令行?
linux查询硬盘命令行?,情况,系统,信息,工具,单位,软件,命令,服务,电脑,分析,命令查看Linux服务器内存、CPU、显卡、硬盘使用情况Linux命令行可linux查询分辨率命令?
linux查询分辨率命令?,情况,设备,系统,分辨率,数据,命令,屏幕,屏幕分辨率,桌面,终端,linux下怎么通过命令改分辨率1、使用xrandr查询,带“*”的