gpt4 book ai didi

php - 在 PHP/MySQL 中将值组合在一起并将其中一列的值添加到组中

转载 作者:行者123 更新时间:2023-11-29 04:52:26 32 4
gpt4 key购买 nike

我有一个 MySQL 数据库,如下所示:

Name: Joe
Items: 25
CreationDate: 2012-04-14 18:49:50

Name: John
Items: 89
CreationDate: 2012-04-14 18:47:17

Name: Bill
Items: 95
CreationDate: 2012-04-09 12:34:08

Name: Bob
Items: 35
CreationDate: 2012-04-09 12:18:23

我想做的是按 CreationDate 对行进行分组(仅基于日期,最后的时间不应该是一个因素)。然后将这些项目加在一起得出一个项目/天。

所以我希望输出是这样的:

2012-04-09 - 130 items
2012-04-14 - 114 items

我在 MySQL 中尝试过 Group By,但我不确定我是否正确使用它:

$sql = mysql_query("SELECT SUM(Items), CreationDate FROM People GROUP BY CreationDate ORDER BY CreationDate DESC") or die(mysql_error());
while($row = mysql_fetch_array($sql) ) {
echo '<p>' . $row['CreationDate'] . ' - ' . $row['SUM(Items)'] . '</p>';
}

除了仅在完全匹配的创建日期(精确到第二个)上将它们分组之外,这种方法可行,我不确定如何解决这个问题。

最佳答案

您需要为 CreationDate 字段使用日期函数,例如:

SELECT SUM(Items), DATE(CreationDate) FROM People GROUP BY DATE(CreationDate) ORDER BY CreationDate DESC

但有一个警告:使用 DATE 函数将忽略 CreationDate 上的任何索引。如果 CreationDate 字段被索引,使用 DATE 函数并对其进行分组将花费更长的时间。

关于php - 在 PHP/MySQL 中将值组合在一起并将其中一列的值添加到组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10182635/

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