ここから本文です

店名毎の年齢情報を世代に分けカウントしたいです。 以下のようなテーブルがあ...

t_y********さん

2017/11/1317:11:49

店名毎の年齢情報を世代に分けカウントしたいです。

以下のようなテーブルがあり、店名、ID、年齢が入っています。
それを、店名毎の世代別にカウントしたいです。

店名|ID|年齢|
ーーーーーーーーー
A|1|12.42
B|2|19.68
C|3| 9.19
D|4|70.40
C|5|50.43
D|6|30.16
A|7|27.76
B|8|80.89
B|9|40.12
C|10|7.45

というテーブルがあり、それを以下にまとめれますでしょうか。

店名|00-09|10-19|20-29|30-39|40-49|50-59|60-69|70-79|80-89|人数|
A|0|1|2|0|0|0|0|0|0|2|
B|0|1|0|0|1|0|0|0|1|2|
C|2|0|0|0|0|1|0|0|0|3|
D|0|0|0|1|0|0|0|0|0|1|

皆様のお力をお貸しいただければと思います。
ご回答の程宜しくお願い致します。

閲覧数:
11
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

hos********さん

2017/11/1319:54:53

使われているデータベースが分からないので
動くかどうかわかりませんがこんなのでどうでしょう

SELECT
店名
, SUM(CASE WHEN 年齢 >= 0 AND 年齢 < 10 THEN 1 ELSE 0 END) AS 年齢00代
, SUM(CASE WHEN 年齢 >= 10 AND 年齢 < 20 THEN 1 ELSE 0 END) AS 年齢10代
, SUM(CASE WHEN 年齢 >= 20 AND 年齢 < 30 THEN 1 ELSE 0 END) AS 年齢20代
, SUM(CASE WHEN 年齢 >= 30 AND 年齢 < 40 THEN 1 ELSE 0 END) AS 年齢30代
, SUM(CASE WHEN 年齢 >= 40 AND 年齢 < 50 THEN 1 ELSE 0 END) AS 年齢40代
, SUM(CASE WHEN 年齢 >= 50 AND 年齢 < 60 THEN 1 ELSE 0 END) AS 年齢50代
, SUM(CASE WHEN 年齢 >= 60 AND 年齢 < 70 THEN 1 ELSE 0 END) AS 年齢60代
, SUM(CASE WHEN 年齢 >= 70 AND 年齢 < 80 THEN 1 ELSE 0 END) AS 年齢70代
, SUM(CASE WHEN 年齢 >= 80 AND 年齢 < 90 THEN 1 ELSE 0 END) AS 年齢80代
, COUNT(ID) AS 人数
FROM
年齢情報
GROUP BY
店名
ORDER BY
店名 ASC

  • hos********さん

    2017/11/1319:58:40

    あ、Oracleカテゴリの質問でしたね。
    だったら多分動くと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる