gpt4 book ai didi

php - MYSQL:一组中varchar y:m:d的平均值

转载 作者:行者123 更新时间:2023-11-30 22:15:34 25 4
gpt4 key购买 nike

我有一个名为 time_on_site 的 mysql 列。
该列存储为变量 h:m:s

目前在我的代码中有以下内容:

foreach($db->query("SELECT country,siteID,referring_site,COUNT(country)
AS thecount,COUNT(distinct country)
FROM rotator_tracking WHERE siteID='$_GET[site]'
GROUP BY country, referring_site ORDER BY thecount ASC") as $row) {

if (isset($row['referring_site'])) {
echo '
<tr>
<td class="country" style="padding: initial;">
' . $row['referring_site'] . '
</td>';
} else {
echo '
<tr>
<td class="country" style="padding: initial;">
Unknown
</td>';
}

echo '
<td class="country_referral" style="padding: initial;">
' . $row['country'] . '
</td>';

echo '
<td class="country_referral" style="padding: initial;">
' . $row['thecount'] . '
</td>';

echo '
<td class="country_referral" style="padding: initial;">' .
$row['COUNT(distinct country)'] . '
</td>
</tr>';
}

我想弄清楚如何做的是添加另一个 td,它使用 time_on_site 中的值显示基于国家和引用站点分组的平均站点停留时间。

所以有效的表格应该循环:

referring site : country : total visits : unique visits : average time on site

由于日期是可变格式,因此仅求和并除以总数似乎并不那么容易。帮助?我应该怎么做?

最佳答案

所以我花了很多时间试图解决这个问题。最后,解决方案相当简单。

由于格式已经是 hh:mm:ss,所以没有必要将其保留为 varchar,所以我只是将类型从 varchar 更改为 time。

在那之后它就非常标准了。

SELECT SEC_TO_TIME( AVG( TIME_TO_SEC( `time_on_site` ) ) ) 
AS timeSum, country,siteID,referring_site,COUNT(country)
AS thecount,COUNT(distinct country)
FROM rotator_tracking
WHERE siteID=':site'
GROUP BY country, referring_site
ORDER BY thecount ASC

关于php - MYSQL:一组中varchar y:m:d的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com