gpt4 book ai didi

php - 在mysql中添加相同行的值

转载 作者:行者123 更新时间:2023-11-29 07:23:53 24 4
gpt4 key购买 nike

我有一个包含 Facebook 广告数据的 MYSQL 表。

我正在使用 Facebook Ads API 获取特定帐户的所有广告集。结果,我有一些具有相同名称的广告集,因为在不同的时间段内删除了新广告集。

F.x.

NAME                     SPEND    
Gistrup MSN Standard - 11
Storvorde MSN Standard - 12
Vejgaard MSN Standard - 13
Aalborg MSN Standard - 14
Gistrup MSN Standard - 15
Storvorde MSN Standard - 16
Vejgaard MSN Standard - 17
Aalborg MSN Standard - 18

该数字是在广告组上花费的金额。

然后我有这个脚本来选择数据并输出为 JSON

 $fb_sql = "SELECT * FROM $table WHERE id_campaign_shortname = '". $_GET["lpage"] ."' AND date_from = '". $date_from ."' AND date_to = '". $date_to ."'";

$fb_sth = $db->dbh->query($fb_sql);
$fb_result = $fb_sth->fetchAll();

$merged_data = array_merge($fb_result);

$jsonArray = array();

if(count($merged_data) > 0) {

$total = 0;

foreach($merged_data as $elm) {

array_push($jsonArray, array(
"campaign" => array(
"campaignName" => $elm["campaign_name"],
"campaignAdsetName" => $elm["adset_name"],
"campaignReach" => $elm["reach"],
"campaignSpend" => $elm["amount_spent"],
"campaignCPC" => $elm["cpc"],
"campaignClicks" => $elm["clicks"],
"campaignId" => $elm["id_name"],
)
)
);

$total += $elm["reach"];

}


$jsonCampaignDataArray = array("campaignData" => $jsonArray);
$jsonTotalReach = array("totalReach" => $total);

$finalArray = array_merge($jsonCampaignDataArray, $jsonTotalReach);

$json = json_encode($finalArray);

echo $_GET['jsonp']. '('. $json . ')';

如何获取具有相同名称的所有行并将它们组合起来,以便将相同行的支出值相加,即两个“Gistrup MSN Standard”将组合起来,然后支出值将为 26 ( 11+15)。

我的 JSON 输出将包含如下内容:

NAME                     SPEND    
Gistrup MSN Standard - 26
Storvorde MSN Standard - 28
Vejgaard MSN Standard - 30
Aalborg MSN Standard - 32

最佳答案

您可以使用 group by 子句更改 SQL。
像这样的东西 -

SELECT `NAME`, SUM(`SPEND`) FROM <TABLE_NAME> GROUP BY NAME

在您的情况下,查询将如下所示 -

// You will need to add the col names here
$fb_sql = "SELECT `NAME`, SUM(`SPEND`) FROM $table WHERE id_campaign_shortname = '". $_GET["lpage"] ."' AND date_from = '". $date_from ."' AND date_to = '". $date_to ."' GROUP BY NAME";

关于php - 在mysql中添加相同行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35171095/

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