gpt4 book ai didi

PHP/MYSQLi - 显示最后日期查询

转载 作者:行者123 更新时间:2023-11-29 02:32:06 24 4
gpt4 key购买 nike

我的数据库表有 5 列:“id”、“date_visited”、“page_title”、“ip”和“total_views”。我无法显示 ORDER BY 'date_visited'。我的 PHP 查询是:

<?php
[...]
$query = "SELECT *,count(*) FROM table WHERE ip GROUP BY page_title";
$result = mysqli_query($link,$query) or die(mysqli_error($link). "Q=".$query);
if(!$result == 0) {
while ($row = mysqli_fetch_array($result)) {
$dataList_br .= '<tr>
<td>' .$row['date_visited']. '</td>
<td>' .$row['page_title']. '</td>
<td>' .$row['count(*)']. '</td>
</tr>';
}
} else {
$dataList_br .= '<p class="warning">No data found in database.</p>';
}
?>

输出时,会显示[日期][页面标题]和[总浏览量]。请有人帮助我,我如何显示查询的最后日期,而不是现在显示访问页面的第一天。

谢谢。

最佳答案

MySQL 对 GROUP BY 的内容很宽松,如果列不在 GROUP BY >SELECT编辑。在您的情况下,它只是为您提供了每个组的第一行(最低日期)。

获取每组 MAX(date_visited) 行的 page_name 并将其与主表连接以从主表中提取剩余的列。

SELECT
table.id,
table.ip,
table.total_views,
maxdates.date_visited,
maxdates.page_name,
maxdates.thecount
FROM
table
JOIN (
/* Subquery returns the aggregates to join against
the main table so other columns can be pulled in */
SELECT
page_title,
MAX(date_visited) AS maxdate,
COUNT(*) AS thecount
FROM table
GROUP BY page_title
) maxdates
ON table.page_name = maxdates.page_name
AND table.date_visited = maxdates.maxdate

关于PHP/MYSQLi - 显示最后日期查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551876/

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