Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php MySQL随时间变化的不同(唯一)值_Php_Mysql_Timestamp_Distinct - Fatal编程技术网

Php MySQL随时间变化的不同(唯一)值

Php MySQL随时间变化的不同(唯一)值,php,mysql,timestamp,distinct,Php,Mysql,Timestamp,Distinct,我有一个关于构造MySQL查询的问题。我有一个表,其中一列包含值,另一列包含时间戳。我想做的是得到一个字段从特定历元到不同时间点的不同(唯一)值的数量,这样我就可以绘制出一段时间内唯一值的数量。例如,我希望查询结果如下所示: 日期,计数(不同的col1) 2011-02-01,10 2011-02-0216 2011-02-0324 等等 请注意,这些值是从同一时间点开始的不同值的数量。目前,为了实现这一点,我在PHP中使用一个循环来迭代每个日期的单个查询,因为我有一个很大的数据库,所以这需要花

我有一个关于构造MySQL查询的问题。我有一个表,其中一列包含值,另一列包含时间戳。我想做的是得到一个字段从特定历元到不同时间点的不同(唯一)值的数量,这样我就可以绘制出一段时间内唯一值的数量。例如,我希望查询结果如下所示:
日期
,计数(不同的
col1

2011-02-01,10
2011-02-0216
2011-02-0324
等等

请注意,这些值是从同一时间点开始的不同值的数量。目前,为了实现这一点,我在PHP中使用一个循环来迭代每个日期的单个查询,因为我有一个很大的数据库,所以这需要花费很长时间。为了更好地描述,我要替换的低效代码如下所示:

for($i=0;$i<count($dates),$i++){      
    $qry = "SELECT COUNT (DISTINCT `col1`) FROM `db`.`table` WHERE `Date` BETWEEN '".$EPOCH."' AND '".$dates[$i]."';";    
}

对于($i=0;$i如果理解您的问题,您可以使用组语句:

SELECT StampCol, COUNT(DISTINCT DataCol) FROM MyTable GROUP BY StampCol

您需要使用该解决方案计算PHP中的计数。谢谢,但此查询将给出每天的计数(我还需要不同的值)。我正在寻找一个查询,其中计数包括在
StampCol
日期之前的所有
DataCol
值。通过这种方式,我可以跟踪unique
DataCol
随时间的增长,而不是每个给定的
StampCol
的unique
DataCol
。是的,但通过分组,一个日期组的唯一值将被忽略ted仅在该日期组的范围内是唯一的,并且计数将是“如果理解您的问题,您可以使用组声明:…”的越位注释。这是很古老的,但对于后代来说,这个答案应该有效:
SELECT DATE_FORMAT(date_column, "%Y-%m-%d") AS date_column, COUNT(visitors) AS visitors FROM table GROUP BY DATE_FORMAT(date_column, "%Y-%m-%d") ORDER BY date_column desc"