Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
统计信息-MySQL表中的每日模式,带有数字和日期_Mysql_Statistics - Fatal编程技术网

统计信息-MySQL表中的每日模式,带有数字和日期

统计信息-MySQL表中的每日模式,带有数字和日期,mysql,statistics,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 日期时间编号 2010-01-01 00:35:00 500 2010-01-0

我需要一些帮助来编写一个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 日期时间编号 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
(etc)

您可以使用GROUP BY和LIMIT在给定的一天内完成此操作:

SELECT number, count(number) AS qty 
FROM table 
GROUP BY number 
ORDER BY qty DESC 
LIMIT 1;

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

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.如果您有多个具有相同模式频率的数字,则不会产生任何奇怪的效果--您将得到该日期的多行。

语法错误*-也将count(*)替换为count(number),但似乎仍然不会产生模式。.我现在没有SQL server来尝试此查询,但它应该可以工作。也许你需要添加额外的过滤器(比如,过滤特定的一天)?