2016-08-27 22 views
1

TABLE1構造とサンプルデータMySQLのSUMとGROUP BYの列AS

+----+-------------+----------+------+-------+ 
| ID | DESCRIPTION | QUANTITY | EACH | PRICE | 
+----+-------------+----------+------+-------+ 
| 1 | Product 1 |  1 | 12 | 1*12 | 
| 2 | Product 2 |  2 | 3 | 2* 3 | 
| 3 | Prodcut 3 | NULL | 3 |  | 
| 4 | Product 1 |  2 | 10 | 2*10 | 
| 5 | Product 3 | NULL | 7 |  | 
+----+-------------+----------+------+-------+ 

MySQLのクエリ:私はPRICE列にSUMを作ることができる方法

SELECT 
    DESCRIPTION, 
    QUANTITY, 
    EACH, 
    COALESCE(QUANTITY, 1) * EACH AS PRICE 
FROM table1 
GROUP BY DESCRIPTION 

GROUP BY説明カラム?私はtable1の値を変更することができないので、UPDATEを使用したくありません。

答えて

2

なぜあなたは選択リストにSUM(COALESCE(QUANTITY, 1) * EACH) AS PRICETOTALを追加できません。

+0

おそらくだけでなく、少しはSQL標準規格に準拠するようにするGROUP BY句を微調整するには... – Shadow

+0

は、このコードスニペットは、[説明を含む]疑問を解決することができるが、あなたの答え – ster

0
SELECT 
    DESCRIPTION, 
    SUM(COALESCE(QUANTITY,1)*each) as 'Price' 
FROM table1 
GROUP BY DESCRIPTION 


returns 
DESCRIPTION Price 
Product 1 32 
Product 2 6 
Product 3 10 
+0

をありがとうございました(//meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。また、コードと説明の両方の可読性が低下するため、説明的なコメントを使用してコードを混乱させないようにしてください。 – FrankerZ

+0

ありがとう@FrankerZ説明付きで更新されます。 – RSSM

+0

ありがとうございます – ster