2017-05-27 8 views
-1
SELECT product,quantity,count(product) AS count 
    FROM order_table WHERE order_id in 
    (select order_id from progress) 
group by product 

私は製品名と製品数を取得します。しかし、私もテーブルの数量の列を持っています。製品が2つの量を得たときに、この数量をこの数量でこの数量で追加します。バーガーおよび総量:上記画像における数量とともに製品の数を取得するmysqlクエリ

3つのバーガー製品と一つバーガー製品の2量が存在し、ここで私は、製品のように表示する必要が4後、次のラインの製品で:ピザと合計数量:3

+0

削除 'グループproduct' –

答えて

0

サンプルデータがなければ、推測することは困難ですが、「数量」としてこの

SELECT product 
,sum(quantity) as total_quantity 
,count(*) AS count 
    FROM order_table 
WHERE order_id in 
    (select order_id from progress) 
group by product 
+0

によって私は組み合わせ –

+0

に製品と数量の結果の両方を取得する必要がありますあなたの質問を更新します。サンプルデータと予想される結果を与え、このクエリがあなたにそれを与えていない理由を伝えます。私はtotal_quantityとして「SELECT製品、合計(数量)必要なものの結果を取得しています – Utsav

+0

、 でORDER_IDは、製品 –

1

SELECT製品、合計(数量)のようなものを必要とするようにあなたの質問を見て、見えます、からのカウント AS(製品)を数えますorder_table WHERE where order_id in (select order_id from progress)製品

量にだけ使用aggrigate関数の和によってグループ。

+0

これは私のため –

1

は、いくつかのサンプルデータが必要です。入力データと期待される出力。それまで は、このクエリを、それを試してみる -

SELECT Product 
    ,SUM(Quantity) AS Total_Quantity 
    ,COUNT(Product) AS Product_Count 
FROM order_table 
WHERE order_id IN (
     SELECT DISTINCT order_id 
     FROM Progress 
    ) 
GROUP BY Product 
+0

.......ありがとう基本的なGROUP BY。簡単に言えば、SELECTステートメントにSUM、AVG、COUNT、MAX、MINのような集計に関係しない列がある場合は、GROUP BY句の列を記述する必要があります。 WHERE句では、DISTINCT、つまりProgressテーブルから一意のOrder_Idを選択しました。 答えとしてマークすることを忘れないでください。 –

+0

あなたはそれはそれはちょうどだ –

+0

をどのように動作するかを説明してくださいすることができます動作しますはい –

関連する問題