在MySQL中COUNT(*)、COUNT(列)和COUNT(DISTINCT 列)有什么区别

news2024/11/13 23:17:54

本文还发布在我的 medium 和 掘金 上

这篇文章让我们看看MySQL中count(*)count(column_name)有什么区别。也许你知道它们都是计算结果行数的,那么在使用的时候如何选择呢。

image.png

我在MySQL库中创建了一个t_hero

CREATE TABLE `t_hero` (
  `id` int NOT NULL,
  `name` char(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

往表里插入了6条数据,如下
image.png

然后使用count(*)count(distinct column)count(column)查询

SELECT COUNT(*), 'COUNT(*) ' FROM t_hero
UNION
SELECT COUNT(name), 'COUNT(name)' from t_hero
UNION
SELECT COUNT(DISTINCT name), 'COUNT(DISTINCT name)'from t_hero;

输出结果

6	COUNT(*) 
5	COUNT(name)
4	COUNT(DISTINCT name)

因此,可以得出结论:

  • 要计算查询返回的行数,请执行以下操作:
    select count(*) from table;
  • 计算查询返回的非 null 值的数量:
    select count(column) from table;
  • 计算查询返回的不同值的数量:
    select count(distinct column) from table;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试——用例篇(上)

概念 什么是测试⽤例? 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 设计测试⽤例原则⼀: 测试⽤例中⼀个必需部分是对…

AI-WEB-1.0 靶机

AI-WEB-1.0 一、安装靶机环境 下载地址: https://www.vulnhub.com/entry/ai-web-1,353/ 下载压缩文件打开 开启虚拟机 二、信息收集 1.查看NAT模式IP段 编辑–>虚拟网络编辑器 御剑2014查IP 找到ip之后就访问网站 用扫描目录的工具扫描当前网站的目录 访问…

复制知乎文字内容

复制知乎文字内容 以edge浏览器为例: 以edge浏览器为例: 先点击F12(也就是鼠标右键->检查)再点击F1选择禁用Javascript 之后知乎的文字就可以正常复制了。 (注意:退出浏览器的时候记得把这一条恢复过…

XAML 热重载应用程序

XAML 热重载(Hot Reload)是一个在开发过程中提高效率的功能,它允许开发者在应用程序运行时修改 XAML 代码,而不需要重新启动应用程序。这个功能非常适合于调试和即时预览 UI 更改。以下是如何在应用程序中使用 XAML 热重载的一些基…

CVE-2022-21663: WordPress <5.8.3 版本对象注入漏洞深入分析

引言 在网络安全领域,技术的研究与讨论是不断进步的动力。本文针对WordPress的一个对象注入漏洞进行分析,旨在分享技术细节并提醒安全的重要性。特别强调:本文内容仅限技术研究,严禁用于非法目的。 漏洞背景 继WordPress CVE-2…

系统设计中15 个最重要的权衡

系统设计的第一法则:一切都与权衡有关。 在设计系统时,我们需要决定要包含哪些功能以及要忽略哪些功能。每次我们做这个决定时,我们都在进行权衡。在本文中,我们将探讨系统设计中遇到的15个最常见的权衡问题,并使用实…

第十四天学习笔记2024.7.25

Git安装 1.安装git 2.创建git仓库 3.创建文件并且提交文件 (git add . 将文件提交到缓存)(git commit -m 说明)(git log 查看历史) 4.分支创建与解决分支冲突问题 创建主机(git 192.1…

手机三要素接口怎么对接呢?(二)

一、什么是手机三要素? 手机三要素又叫运营商三要素,运营商实名认证,运营商实名核验,手机三要素实名验证,手机三要素实名核验,每个人的称呼都不同,但是入参和出参是一样的。 输入姓名、身份证…

24暑假算法刷题 | Day25 | 回溯算法 III | LeetCode 491. 非递减子序列,46. 全排列,47. 全排列 II

目录 491. 非递减子序列题目描述题解 46. 全排列题目描述题解 47. 全排列 II题目描述题解 491. 非递减子序列 点此跳转题目链接 题目描述 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任…

MELLE: Autoregressive Speech Synthesis without Vector Quantization

2024.7MICROSOFT 文章目录 MELLE: Autoregressive Speech Synthesis without Vector Quantizationabstractmethod损失函数 Autoregressive Image Generation without Vector Quantizationabstractmethods更好的AR modelresults MELLE: Autoregressive Speech Synthesis without…

UI框架与MVC模式详解(3)——MVC\MVP\MVVM

【PDI模式】 前文中,我们详细讲解了为实现一个涉及UI的功能所必须得三者,简称PDI: Panel类:主要实现交互逻辑、显示逻辑的地方以及保存界面相关的数据的地方Data类:数据管理类,主要是业务相关的数据Inter…

小白也能轻松学的计算机网络零基础入门(附学习路线 + 计算机网络教程)

本文作者:程序员鱼皮 免费编程学习 - 编程导航网:https://www.code-nav.cn 介绍 计算机网络是指将地理位置不同的多台计算机或设备通过通信线路进行连接,从而实现信息传递和资源共享,或者组成一个更完整的计算机系统。 如今&…

【MySQL】用户管理连接池原理{数据库权限/连接池/mysql访问逻辑}

文章目录 1.普通用户的引入用户创建用户删除用户修改用户密码 2.数据库的权限给用户授权回收权限实操过程 3.简略介绍mysql连接池3.一个用户注册/登录/使用网页版mysql逻辑 1.普通用户的引入 用户 MySQL中的用户,都存储在系统数据库mysql的user表中 mysql> use…

Internet Download Manager(IDM)2024最新免费版电脑下载管理器

1. Internet Download Manager(IDM)是一款流行的下载管理软件,以其高速、稳定的下载性能著称。 2. IDM支持多线程下载,可以显著提高下载速度。 3. 该软件还具备恢复中断下载的功能,对于网络不稳定的用户非常实用。 …

蓝鹏测径仪非标定制订制流程

测径仪通常属于非标定制设备,非标定制意味着这些设备不是按照标准规格批量生产的,而是根据特定的客户需求和应用场景设计和制造的。例如,某些测径仪可能需要特殊的测量范围、精度、传感器或软件来满足特定的工业检测要求。 测径仪非标定制的…

Axure Web端元件库:构建高效互动网页的基石

在快速迭代的互联网时代,Web设计与开发不仅追求视觉上的美感,更注重用户体验的流畅与功能的强大。Axure RP,作为一款专业的原型设计工具,凭借其强大的交互设计能力和丰富的元件库,成为了众多UI/UX设计师、产品经理及前…

箱型图大揭秘!Matplotlib带你玩转数据界的‘变形金刚’

想要一窥数据深海的秘密?Matplotlib箱型图来助阵!不是魔术师,却能让数据‘箱’中显真章,异常值无所遁形。笑点低?不,是数据洞察力强!跟着这波操作,让数据可视化变得既科学又有趣&…

【手撕数据结构】链表面试题进阶

目录 相交链表环形链表扩展问题 环形链表||原理 随机链表的复制 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 思…

Centos7.6升级Nginx到nginx-1.27.0

Centos7.6升级Nginx到nginx-1.27.0 简介 升级过程 常见问题 简介 Nginx 更新到了1.27.0,为了系统的安全性将进行服务升级 升级过程 一、Nginx的卸载 升级前需要先卸载以前安装的版本 1、yum的卸载 > yum remove nginx同时还需要手动删除配置文件和日志文…