2017-08-28 9 views
-1

私はMySQLデータベースを作った。フィールドは以下のとおりです。私は例のために持っているんID:NAME:QUANTITY配列内の項目を結合する

ID:NAME:QUANTITY 
1: APPLE: 3 
1: APPLE: 4 
2: BANANA: 1 
2: BANANA: 2 

代わりに、この出力を有するので、私が取得したいと思います:

APPLE 7 
BANANA 3 

を、私はたくさんのことを試してみましたが、私何度も何度も失敗した。あなたには解決策がありますか?

私のコードは次のようになります。代わりに、カウントの

public function getList($user_id, $recept_id) { 

    $return = array(); 
    $sql = "select * from list"; 

    $result = mysqli_query($this->link, $sql); 
    while ($row = mysqli_fetch_assoc($result)) { 
    $return[] = $row; 
    } 
    return($return); 
+4

集計関数 '' SUM' GROUP BY' –

+0

'選択名、合計(数量)NAME' –

答えて

3

は、単にあなたのクエリで数量を合計動作するはずSUM関数を使用します。コードについて


SELECT `NAME`, SUM(`QUANTITY`) as QUANTITY FROM list GROUP BY `NAME`; 
:と

$return = array(); 
    $sql = "SELECT `NAME`, SUM(`QUANTITY`) as QUANTITY FROM list GROUP BY `NAME`"; 

    $result = mysqli_query($this->link, $sql); 
    while ($row = mysqli_fetch_assoc($result)) { 
    $return[] = $row; 
    } 
    return($return); 
+0

残念ですが、私は思っていません。 このコードはどこに追加しますか? PHPコード、またはMySQLのどこかで? – Robbert

+0

現在のクエリを上記のものに置き換える必要があります。さらなる助けが必要な場合は、現在の配列を生成するコードを質問に自由に追加してください。 @ロバート – baao

+0

私はコードを追加! – Robbert

-2

編集した合計。

は、このようなものが

SELECT NAME,SUM(QUANTITY) as QUANTITY FROM list GROUP BY NAME ORDER BY QUANTITY DESC; 
+1

ないことにより、テーブル群からCNTとして' (sum)ではありません。 –

+1

'count(*)'も 'sum(*)' – baao

+0

'sum'もありません。しかし、ワイルドカードのためではなく、フィールドのためだけです。 –

関連する問題