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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
「ORA-00907: 右カッコがありません」について
Oracle
-
単一グループのグループ関数ではありません。
Oracle
-
続.ORACLEのSELECTのソートについて。 下記の要件を満たすSQLを教えてください。 テーブ
Oracle
-
-
4
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
5
DBエラー 右カッコがありません
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
MERGE文を単体テーブルに対して...
-
AccessからOracleへの外部結合
-
SELECTの結果で同一行を複数回...
-
SET句内で複数の条件を指定して...
-
SQLでの絞り込み検索
-
外部結合とor条件混在の記述方法
-
【SQL】SELECT文
-
結合と副問い合わせの違い
-
updateの一括実行
-
select文でフリーズします。
-
重複レコードの取得
-
SQL GROUPで件数の一番多いレコ...
-
SQL抽出の書き方について(一部...
-
MINUS の結果の rowid を取得し...
-
oracleの分割delete
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
固定値を含む結合と複数テーブ...
-
複数テーブルのMAX値の行データ...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
外部結合とor条件混在の記述方法
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
SQL GROUPで件数の一番多いレコ...
-
DELETE 文とEXISTSの使い方につ...
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
unionでマージした副問合せを結合
-
副問い合わせのinsert文
-
結合と副問い合わせの違い
おすすめ情報