选择列总和为最大的行

时间:2018-06-19 18:34:51

标签: php json mysqli

我有一个查询,它从两个单独的表中拉出并内部联接它们。我正在尝试仅拉出amount列的总和可能会增加到最大值的行。这是我需要具有最大值amount的函数。

$get_items = $db->prepare("
    SELECT player_items.owner, player_items.item_id, player_items.amount, item.id, item.name, item.attack, item.special, item.type
    FROM player_items
    INNER JOIN items AS item
    ON item.id = player_items.item_id
    WHERE player_items.owner = ? AND item.type = ?
    ORDER BY item.attack DESC
");
$get_items->bind_param('ii', $player, $type);
$get_items->execute();
$i_items = $get_items->get_result();
if($i_items->num_rows == 0) {
    $final = '';
}
else {
    while($item = $i_items->fetch_assoc()) {
        if($item['amount'] < $max_fight) {
            $total_amt = $item['amount'];
        }
        else {
            $total_amt = $max_fight;
        }

        // Final
        $final[] = [
            'name' => $item['name'],
            'amount' => $total_amt,
            'special' => $item['special']
        ];
    }
}
return json_encode($final);

所以我可以使用的示例是,我需要最大和为7,在代码中,我将每一行都取为7,然后显示,如下面的图像链接所示:

JSON Data Returned

但是我需要的是这些方面的

JSON Editied Return Data

如果有人可以指导我如何解决该问题,将不胜感激!

0 个答案:

没有答案