分组和计数mysql

Posted

技术标签:

【中文标题】分组和计数mysql【英文标题】:Group by and count mysql 【发布时间】:2020-05-21 20:36:17 【问题描述】:

我需要计算每天有多少辆vehicleid,或者每天有多少辆,计算当天的车辆(“metrictimestamp”字段有日期)

【问题讨论】:

到目前为止你尝试了什么? 我只知道如何按某个字段分组,不知道如何统计该组内的其他字段 你快到了,你只需要将计数添加到 select 子句中,例如 select metrictimestamp, count(vehicleid)(你需要按 metrictimestamp 分组) 像这样:SELECT metrictimestamp,COUNT(vehicleid) FROM data? 是的,你需要group by metrictimestamp 【参考方案1】:

这看起来像一个直接聚合查询:

select date(metrictimestamp) metricdate, count(*) no_vehicles
from data
group by date(metrictimestamp)
order by metricdate

这假设 metrictimestamp 有一个时间组件 - 所以使用 date() 会删除它。

如果有vehicle_idnull 的行,请使用count(vehicle_id) 而不是count(*)。如果给定的vehicle_id 可能在某一天出现多次并且您只想计算一次,请使用count(distinct vehicle_id)

【讨论】:

以上是关于分组和计数mysql的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 按日期和计数分组,包括丢失的日期

特定日期之间的Mysql计数和分组

mysql 计数,然后按该计数分组

MySQL:按连续天分组并计数组

MySQL 数据库在计数或求和和分组时失败 - 不是其他线程的重复

mysql |按时间分组计数记录