以下のデータに対して、データの数と、データが0でないものの平均を1度にまとめて取得できないかと考えています
DATA
+-------+-------+--------+
| EmpID | Kubun | KAKAKU |
+-------+--------+--------+
| A001 | 1 | 0 |
| A002 | 2 | 100 |
| A003 | 1 | 200 |
| A004 | 1 | 300 |
+-------+--------+--------+
実現したいこと
以下のデータをカウント及び集計したい
1.登録されているデータ数
2.価格が入っているデータ数
3.価格が入っているデータの平均
4.価格が入っているデータの最大
5.価格が入っているデータの最小
項番1と項番2は以下で取得可能を確認
SELECT Kubun, COUNT(*) NUM1, COUNT(CASE WHEN KAKAKU>0 THEN 1 ELSE NULL END) NUM2 FROM DATA GROUP Kubun
項番3は以下で取得可能を確認
SELECT Kubun, ROUND(AVG((KAKAKU)*10),-1)/10 AVGP, MAX(KAKAKU), MIN(KAKAKU) FROM DATA WHERE KAKAKU>0 GROUP GROUP Kubun
知っていれば簡単にできる物なのかもしれないのですが、知識が足りず、検索のキーも良い物がヒット出来ずにいます。
2回のSELECT文にすれば出来るのですが、まとめて1つのデータとして取得したいのです。よい方法はないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/13 02:58
2022/07/13 03:03 編集
2022/07/13 03:17