位置: 编程技术 - 正文

利用MySQL统计一列中不同值的数量方法示例

编辑:rootadmin

推荐整理分享利用MySQL统计一列中不同值的数量方法示例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本文实现的这个需求其实十分普遍,举例来说,我们存在一个用户来源表,用来标记用户从哪个渠道注册进来。表结构如下所示…

其中 origin 是用户来源,其中的值有 iPhone 、Android 、Web 三种,现在需要分别统计由这三种渠道注册的用户数量。

解决方案1

用 where 语句分别统计各自的数量。

这样查询的量有点多了,如果这个值有 个呢,那还得写 条相似的语句,很麻烦。

有没有一条语句就搞定的呢?于是去查了些资料。

解决方案2

我们知道 count 不仅可以用来统计行数,也能统计列值的数量,例如:

统计 user_operation_log 有多少行:

统计 origin 这列值不为 NULL 的数量:

利用MySQL统计一列中不同值的数量方法示例

所以我们可以利用这个特性来实现上面的需求

第一种写法(用 count 实现)

查询结果

第二种写法(用 sum 实现)

查询结果

第三种写法(改写 sum)

查询结果

第四种写法(来自掘金用户 杰夫 的答案)

查询结果

至此,已经达到了我们的需求。

总结

本文链接地址:https://www.jiuchutong.com/biancheng/349648.html 转载请保留说明!

上一篇:MySQL 5.7.18 release版安装指南(含有bin文件版本)

下一篇:一步步教你配置MySQL远程访问(该怎么配置)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络