gpt4 book ai didi

php - 从 PHP 中准备好的 MySQL 语句的结果中计算唯一值

转载 作者:行者123 更新时间:2023-11-29 18:00:27 26 4
gpt4 key购买 nike

我有一个在线日历,列出了即将到来的现场音乐。我使用准备好的语句来获取接下来八天的列表并将它们显示在表格中。在显示结果之前,我需要做的是计算列表中唯一日期(“日期”)的数量。例如,如果接下来的 8 天中只有 5 天发生了事件,我需要知道该数字是 5。

使用 COUNT(DISTINCT) 可以给我这个数字,但它只显示一行结果,所以我需要另一个解决方案

我的代码是这样的:

$mysqli = new mysqli("Login Stuff Here");
if ($mysqli->connect_errno){
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$start = strtotime('today midnight');
$stop = strtotime('+1 week');

$start = date('Y-m-d', $start);
$stop = date('Y-m-d', $stop);

$allDates = $mysqli->prepare("SELECT
ID,
Host,
Type,
Bands,
Date,
Time,
Price,
Note,
Zip,
URL
FROM things WHERE (Date >= ? AND Date <= ?) ORDER BY Date, Time, Host");
$allDates->bind_param("ss", $start, $stop);
$allDates->execute();
$allDates->bind_result($ID, $Host, $Type, $Bands, $Date, $Time, $Price, $Note, $Zip, $URL);

while($allDates->fetch()):
// ECHO ALL THE INFO IN A NICE TABLE
endwhile;

$allDates->close();

我需要计算“日期”列中的唯一值(甚至可能检索它们)。现在我通过执行单独的查询来使其工作,但我确信有更好的方法。

编辑:最终,我最终做了一个单独的查询,效果很好,因为我也可以将它用于其他事情。我发现使用 GROUP BY 总是每个日期只返回一个结果,因此它无法显示完整的列表。也许我做得不对,但我最终以另一种方式表现得很好。谢谢!

最佳答案

您缺少分组依据:

GROUP BY Date

关于php - 从 PHP 中准备好的 MySQL 语句的结果中计算唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48408337/

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