お世話になっております。
最近サーバーエンドを学習しているプログラミング初心者です。
今回SQLをProgateで学習していて、その中でどうしても腑に落ちない模範解答があり、なぜそのような回答になるのか教えていただきたいです。
つまずいている場所はSQL道場の6番目の問題で、
前提として、DBのテーブルおよびカラムの内容は以下の通りです。
【★sales_recordsテーブル】
→【idカラム】【user_idカラム】【item_idカラム】【perchased_atカラム】
引用テキスト
【★itemsテーブル】
→【idカラム】【nameカラム】【priceカラム】【costカラム】
このテーブルを使って出題された問題は
このサイトの
・総売上(売れた商品の値段の合計)
・総利益(売れた商品の利益の合計)
を取得してください。
また、取得した値にはASを用いて、それぞれ
総売上
、
総利益
と名前を付けてください。
でした。
この回答が
SQL
1SELECT SUM(items.price) AS "総売上", SUM(items.price - items.cost) AS "総利益" 2FROM sales_records 3JOIN items 4ON sales_records.item_id = items.id; 5
だったのですが、これだと単に各商品の価格を足し算しているだけで、購入された回数など度外視しているので総売り上げにはならないのではないかと思っています。
私としては
SQL
1SELECT count(item_id) 2FROM sales_records 3GROUP BY item_id
↑にて、ある商品が何回購入されているのかを計算した後、その数を価格を掛け算したものが総売り上げになるのではないかと思っています。
説明がややこしくて申し訳ありませんが、なぜこの考えではだめなのかを教えていただけると幸いです。
回答2件
あなたの回答
tips
プレビュー