在数据库⾥计算同⼀个字段不同值的数量

有一些参考者反馈文中“COUNT写法”的可用性问题,这里就在文首提早聊一个概念性问题。众所周知,关系型数据库思想和SQL规范都源自IBM。而后基于(并不是彻底遵照)关系型数据库的理论思想和SQL标准,不少商业版或社区开源版的关系型数据库软件产品出现了。其中商业版比较知名的有IBM的DB二、Oracle的Oracle以及Microsoft的SQL Server;开源免费版比较流行的有MySQL(如今也属于Oracle公司)/MariaDB(MySQL被Oracle化后的新分支)、PostgreSQL、SQLite。虽然这些RDBMS产品都是关系型,而且支持SQL,可是每种产品的实现都是不一样的,对SQL标准的支持也是不同的。即使是同一个数据库产品,当进行过一些比较大的版本更新后,其设计和实现也可能会面目一新。因此,也就是要有——数据库与数据库之间以及数据库版本与版本之间差别性——的概念。下文内容整理自第三版《高性能MySQL》,主要基于MySQL5.5而写,而我的举的游客数据示例查询,印象中是在MySQL5.6和5.7版本都测试过的。因此若是使用其余数据库产品、甚至是示例用MySQL可是其余比较旧的或者久远的未来很新的版本,当查询出现不适用的状况时,要将其看做是一件再正常不过的事情。

A:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

B:MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

数据库字段数据:

数据库查询结果:

以时间为跨度统计不同的值,在该时间出现的次数。

语言如下:

select count(*),'列名' from tablename group by '列名'


select count(*),a_yqm from user group by a_yqm

举例:

这里,我要查询出1年内每个月份periods字段不同值的次数。
比如下图中可见的2015-4月,periods为2出现了3次,3出现了1次,最关键的是 periods你不知道有多少种可能的值,也许这个月有1,也许没有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值