mysql - 统计数据 - 来自 MySQL 表的每日模式,包含数字和日期

标签 mysql statistics

我需要一些帮助来编写一个 MySQL 查询来获取每天的众数(最常出现的数字)

数据集看起来像这样

datetime number
2010-01-01 00:35:00 500
2010-01-01 01:15:10 500
2010-01-02 01:25:10 1500
2010-01-02 01:35:10 50
2010-01-03 12:35:50 100
2010-01-05 05:25:10 2500

(等)

最佳答案

以下应该为您提供每天的模式:

SELECT x.* FROM 
(
 SELECT datetime, number, COUNT(*) AS Ct
 FROM table
 GROUP BY datetime, number
) x
INNER JOIN 
(
SELECT datetime, MAX(Ct) AS MaxCt
FROM (
 SELECT datetime, number, COUNT(*) AS Ct
 FROM table
 GROUP BY datetime, number
) y
GROUP BY datetime
) z
ON z.MaxCt = x.Ct
AND z.datetime = x.datetime

n.b.当您有多个具有相同模态频率的数字时,它不会做任何奇特的事情——您将获得该日期的多行。

关于mysql - 统计数据 - 来自 MySQL 表的每日模式,包含数字和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975634/

相关文章:

r - 如何限制斜率在回归中为正?

php - 如何从均值获得较低和较高值的偏差

MySQL 查询组合行

php - 我正在应用此 sql 压缩查询,但收到语法错误

Python 3、Numpy : Split data into blocks of fixed length and calculate statistics for each block

r - 对 R 中的整洁数据同时执行多个 t.tests

Mysql Join 两表带回收

mysql - 时间戳索引

mysql - InnoDB 中是否有可能出现双重读取

r - ggplot 直方图作为特定组的百分比