我目前有一个跟踪库存项目的系统。
sql表设置如下:
Unique ID | Order number | Location | TimeStamp每次订单moves时,都会使用与new location和timestamp相同的订单号创建一个新条目。
现在,我需要找到订单从一个位置转移到另一个位置所需的平均时间,比如从location Warehouse到Pickup Depot。
我正在努力处理这个查询,到目前为止我已经完成了这个任务。
SELECT
IFNULL(TIMESTAMPDIFF(SECOND,
MIN(TimeStamp),
MAX(TimeStamp)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM TableName
WHERE Status = 'Delivered'
AND TimeStamp > DATE_SUB(NOW(), INTERVAL 6 HOUR)如果该表只有一个订单号,那么当我们添加更多的表号时,average就会运行得很好。
我需要它只查看每个订单号码的时间戳差异,而目前我认为它查看了整个表。
任何帮助都将不胜感激。
为两次发布这个问题道歉,上一篇文章没有包含足够的信息。
再次感谢。
SELECT
IFNULL(TIMESTAMPDIFF(SECOND,
MIN(TimeStamp),
MAX(TimeStamp)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM TableName
WHERE Status = 'Delivered'
AND TimeStamp > DATE_SUB(NOW(), INTERVAL 6 HOUR)
GROUP BY OrderNumber上面的查询返回sql中不同行的时间差(有以下错误:“当前选择不包含唯一列。网格编辑、复选框、编辑、复制和删除功能不可用”。该表有一个列,名为"IFNULL(TIMESTAMPDIFF(SECOND,MIN(TimeStamp),MAX(TimeStamp)) / NULLIF(COUNT(*) - 1,0),0)“,列中有不同顺序排列的时差。现在,我试图通过输出代码获得它们的平均值。
Am用以下代码输出结果:
$row_cnt = $result2->num_rows;
while ($row2 = mysqli_fetch_assoc($result2)) {
$processingseconds = $row2['IFNULL(TIMESTAMPDIFF(SECOND, MIN(TimeStamp), MAX(TimeStamp)) / NULLIF(COUNT(*) - 1, 0), 0)'] + $processingseconds;
}
print "Current Processing Time: ";
$processingseconds = $processingseconds/$row_cnt;
$processingminutes = $processingseconds/60;
echo $processingminutes;发布于 2015-08-15 19:05:39
尝试向查询中添加组按条件。
GROUP BY Order_Number_column就像这样:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND,
MIN(TimeStamp),
MAX(TimeStamp)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM TableName
WHERE Status = 'Delivered'
AND TimeStamp > DATE_SUB(NOW(), INTERVAL 6 HOUR)
GROUP BY Your_Order_Number_column https://stackoverflow.com/questions/32028228
复制相似问题