MySQL 根据日期 group by

本文介绍了在MySQL中根据日期字段`customers_ip_date`进行GroupBy操作的两种有效方法,包括使用substring函数截取日期和cast函数转换日期类型。在6000万条记录的大表中,这两种方法都能快速返回每天的客户IP数量。对于有索引的`customers_ip_date`字段,查询性能表现良好。
摘要由CSDN通过智能技术生成

mysql 有一张这样的表,需要根据customer_ip_date这个字段的日期进行group by 排序,得出每天的数量是多少

MySQL 根据日期 group by有两种写法:

1.字符串截取:substring,从第一个字段截取到第十个字符串,然后group  by 
 

SELECT substring(customers_ip_date, 1, 10),count(distinct customers_ip) as days_count FROM  `userLoginTable`

WHERE customers_ip_date BETWEEN '2019-12-01 00:00:00' AND '2019-12-31 23:59:59'  group by  substring(customers_ip_date, 1, 10)

2.使用cast函数,进行group by 
 

SELECT cast(customers_ip_date as date) as day_time,count(distinct customers_ip) as days_count FROM  `userLoginTable` 

WHERE customers_ip_date BETWEEN '2019-12-01 00:00:00' AND '2019-12-31 23:59:59'  group by  cast(customers_ip_date as date)

以上两种写法都可以实现mysql根据日期group by 的需求

customers_ip_date 字段有索引的情况下,目前在6000W的表查询也是很快就查询出来

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值