質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

解決済

条件によって金額を足し引きした結果を得たい

h-jimo
h-jimo

総合スコア9

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

1回答

0グッド

0クリップ

188閲覧

投稿2022/12/01 00:49

編集2022/12/01 02:22

実現したいこと

条件(phase)によって数量(quantity)を足し引きした結果を得たい。

対象データ

idproduct_idphasequantitycreated_at
11010002022-10-01
21010002022-10-01
31105002022-10-01
41010002022-10-02
511010002022-10-02

得たいデータ(足し引き結果)

iddateproduct_idquantityquantity の出し方(計算式)
12022-10-01115001000+1000-500
22022-10-02101000-1000

cereated_atが同じ日付でproduct_idが同じとき、
phase=0の数量(quantity)を足して、phase=10の数量(quantity)を引く

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

yambejp

2022/12/01 01:27 編集

2022-10-02が1000-1000なら結果は0では? ちなみに集計したら命題のように個別のidやquantityは拾えません
h-jimo

2022/12/01 02:23

0に修正しました。ご指摘ありがとうございます。

回答1

1

ベストアンサー

SQL

1create table tbl( 2id int primary key, 3product_id int, 4phase int, 5quantity int, 6created_at date); 7insert into tbl values 8(1,1,0,1000,'2022-10-01'), 9(2,1,0,1000,'2022-10-01'), 10(3,1,10,500,'2022-10-01'), 11(4,1,0,1000,'2022-10-02'), 12(5,1,10,1000,'2022-10-02'); 13 14select 15product_id, 16created_at, 17sum(quantity*(phase=0)-quantity*(phase=10)) as result 18from tbl 19group by product_id,created_at;

投稿2022/12/01 01:28

編集2022/12/01 01:28
yambejp

総合スコア108937

spoofy_dragon😄を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

h-jimo

2022/12/01 02:24

ありがとうございます。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。