gpt4 book ai didi

php - 从数据库中检索行总和

转载 作者:行者123 更新时间:2023-11-30 23:13:53 25 4
gpt4 key购买 nike

我使用下面的代码从 mysql 数据库中检索数据。这给了我一个结果,我无法理解它是如何产生的逻辑。相反,我想要的是仅在 contribution_page_id 为 1 且货币为 RUB 的情况下从数据库中获取 total_amount 的总和。我怎样才能做到这一点?

谢谢。

<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select($db->quoteName(array('total_amount')));
$query->from($db->quoteName('civicrm_contribution'));
$query->where($db->quoteName('contribution_page_id') . ' = '. $db->quote('1'));
$query->where($db->quoteName('currency') . ' = '. $db->quote('RUB'));

$db->setQuery($query);

$results = $db->loadResult();
echo $results;
?>;

最佳答案

您的查询应使用 sum() 函数:

$query->select('sum('.$db->quoteName('total_amount').')');
$query->from($db->quoteName('civicrm_contribution'));
$query->where($db->quoteName('contribution_page_id') . ' = '. $db->quote('1'));
$query->where($db->quoteName('currency') . ' = '. $db->quote('RUB'));

但是,如果您想要一个包含每种货币总和的表(每行一个),您可以使用 sql 的 group by 子句:

$query->select($db->quoteName('currency'));
$query->select('sum('.$db->quoteName('total_amount').')');
$query->from($db->quoteName('civicrm_contribution'));
$query->where($db->quoteName('contribution_page_id') . ' = '. $db->quote('1'));
$query->where($db->quoteName('currency') . ' = '. $db->quote('RUB'));
$query->group($db->quoteName('currency'));

关于php - 从数据库中检索行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18762050/

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