COUNTの取得方法(?)について質問があります。
現在次のSQL文を投げると
SELECT
ITEM
,COUNT(ITEM)
FROM
ITEM_MASTER
WHERE
ITEM IN ('000', '100', '200', '300', '400')
GROUP BY
ITEM
ORDER BY
ITEM
;
このような結果が返ってきます。
ITEM COUNT(ITEM)
------ -----------
100 9
200 2
300 1
ITEMの値が000と400の件数は0件なのですが、0件の場合には、
次のように0と表示したい場合はどのようにしたら良いのでしょうか?
ITEM COUNT(ITEM)
------ -----------
000 0 <--ここ
100 9
200 2
300 1
400 0 <--ここ
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
対象データが存在しないモノは抽出のしようがありません。
どこにも存在しないのであれば、便宜上作るしかありません。
selec ITEM,COUNT(*)
from
ITEM_MASTER,
(
select '000' as KEY from dual union all
select '100' as KEY from dual union all
select '200' as KEY from dual union all
select '300' as KEY from dual union all
select '400' as KEY from dual
) M
where ITEM=M.KEY
group by ITEM
order by ITEM
;
抽出条件も兼ねたインラインビューとしています。
ありがとうございました。解決しました。
回答頂いたままだと結果は変わりませんでしたが、
次のように修正した所、思い通りの結果が得られ
ました。
SELECT
M.ITEM
,COUNT(I.ITEM)
FROM
(
SELECT '0000' AS ITEM FROM DUAL UNION ALL
SELECT '1000' AS ITEM FROM DUAL UNION ALL
SELECT '2000' AS ITEM FROM DUAL UNION ALL
SELECT '3000' AS ITEM FROM DUAL UNION ALL
SELECT '5000' AS ITEM FROM DUAL
) M
LEFT JOIN ITEM_MASTER I ON M.ITEM = I.ITEM
GROUP BY
M.ITEM
ORDER BY
M.ITEM
No.1
- 回答日時:
ITEM_MASTER<--このテーブルはマスタになるのでしょうか?
もし、トランザクションであれば、マスタテーブルと結合してデータ取得が可能だと思います。
[ITEM_MASTER]
ITEM data
100 aa
100 bb
200 cc
[MASTER]
ITEM NAME
000 ITEM0
100 ITEM1
200 ITEM2
300 ITEM3
のテーブルが存在しているのであれば、
SELECT
A.ITEM
,COUNT(B.ITEM)
FROM
MASTER A left join ITEM_MASTER B
on (A.ITEM = B.ITEM)
WHERE
A.ITEM IN ('000', '100', '200', '300', '400')
GROUP BY
A.ITEM
ORDER BY
A.ITEM
こんな感じだったらいけると思いますが、、どうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP 10文字以降は非表示にしたいんですが、文法が分かりませんアドバイスお願い致します 1 2022/07/10 20:37
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- その他(IT・Webサービス) html cssについて 3 2023/05/13 12:48
- PHP PHP MySql ページング 2 2022/09/20 06:38
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- UNIX・Linux mxlinux 起動時エラーについて 1 2023/01/28 23:05
- ノートパソコン パソコンで悩んでいます。 今三年生で建築を学んでいるものです。 使っていたパソコンが壊れてしまったた 4 2023/04/22 03:47
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
oracleの分割delete
-
MERGE文を単体テーブルに対して...
-
他のテーブルを参照した値はupd...
-
SQLでの条件抽出方法の記述
-
テーブルの列名をデータとして...
-
unionの結果は集計はできないで...
-
固定値を含む結合と複数テーブ...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
ファイル書込みで一行もしくは...
-
DataGridViewの、選択されてい...
-
SQL文で右から1文字だけ削除す...
-
Access終了時の最適化が失敗?
-
Excelで、改行がある場合の条件...
-
実績累計の求め方と意味を教え...
-
エクセルの指定したシートにエ...
-
抽出したデータを修正して元の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
他のテーブルを参照した値はupd...
-
SET句内で複数の条件を指定して...
-
固定値を含む結合と複数テーブ...
-
SQL GROUPで件数の一番多いレコ...
-
oracleの分割delete
-
外部結合とor条件混在の記述方法
-
unionの結果は集計はできないで...
-
複数テーブルのMAX値の行データ...
-
unionでマージした副問合せを結合
-
集計後の数値が倍になる
-
構成比を求めるSQL文につきまして
-
COUNTの取得方法(?)について...
-
SQLの書き方(チェックボックス)
-
結合と副問い合わせの違い
-
DELETE 文とEXISTSの使い方につ...
おすすめ情報