热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

mysql如何统计一个字段不同值条数?

以时间为跨度统计不同的值,在该时间出现的次数,在这里,我要查询出1年内每个月份periods字段不同值的次数。比如下图中可见的2015-4月,periods为2出现了3次,3出现了1次,最关键的是periods你不知道有多少种...

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

回复内容:

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

写了个DEMO,在线预览

先说下我用的时间格式是date,年-月-日这种形式

统计次数,count再group by 列名

SELECT `periods`,DATE_FORMAT(time,'%Y-%m') as month,COUNT(*) AS `times` FROM `product` GROUP BY `periods`,`month` ORDER BY `month` DESC

DOC:
date_format:http://www.w3school.com.cn/sql/func_date_format.asp
group by:http://www.w3school.com.cn/sql/sql_groupby.asp

用count函数

用两个group by 条件就可以了呀

select count(id), periods, from_unixtime(time, '%Y-%m')
from product
where  你的条件
group by periods,from_unixtime(time, '%Y-%m')

呃,大概思路是这个样子的

select periods,sum(periods) as count from product where month>='时间' and mouth<="时间" group by periods

推荐阅读
author-avatar
月雨淅淅
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有