OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

10歳単位での GROUP BY

  • 困ってます
  • 質問No.227196
  • 閲覧数185
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 56% (14/25)

ACCESS2000を使用しています。
従業員データというテーブルの情報を元に、年代別(10歳ごと)の円グラフを作成したいと思っています。
(・20~29歳・30~39歳・40~49歳・50歳以上)
どのようにSQL文を書けばいいのでしょうか。
よろしくお願いいたします。

※今回のテーブルには生年月日ではなく、年齢の数字が直接入っています。
もし生年月日から作成するにはBETWEEN関数と組合せればいいのでしょうか?
2つも質問してすいません。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル8

ベストアンサー率 45% (15/33)

年代の計算は、年齢\10で求まります。
SQLの書き方もいくつかあると思いますが、

SELECT IIf(年齢\10>=5,5,年齢\10) AS 年代
FROM 従業員データ
GROUP BY IIf(年齢>=5,5,年齢\10);

もしくは、

select 年代
from
(SELECT IIf(年齢\10>=5,5,年齢\10) AS 年代
FROM 従業員データ)
GROUP BY 年代;

生年月日の求め方は、下の方のを参照してみてください。
お礼コメント
amateur3

お礼率 56% (14/25)

お礼が遅くない申し訳ありませんでした。
うまくいきました。
ありがとうございました。
投稿日時 - 2002-03-07 10:47:38
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 33% (135/409)

アクセス2002で試してます。 まぁ私はSQLはわかりませんが笑 年代別のわけ方だけでもと思いまして・・・ 年代の計算は年齢を10で割ってINT関数で整数部分を抜き出し10倍すれば年代になります。 生年月日から求める場合は =int(int(DateDiff("d",[生年月日]-1,Date())/365.25)/10)*10 となります。 これを元にグラフ ...続きを読む
アクセス2002で試してます。
まぁ私はSQLはわかりませんが笑
年代別のわけ方だけでもと思いまして・・・

年代の計算は年齢を10で割ってINT関数で整数部分を抜き出し10倍すれば年代になります。

生年月日から求める場合は
=int(int(DateDiff("d",[生年月日]-1,Date())/365.25)/10)*10
となります。

これを元にグラフを作成すればできるようなきがしますが・・・参考になればいいです
補足コメント
amateur3

お礼率 56% (14/25)

早速の回答ありがとうございます。
INTで処理する方法ですと、
・20~29歳・30~39歳・40~49歳はいいのですが、
・50歳以上というグループが出来ません。
50歳以上は人数が少ないのでグループ化させたいのです。
INTの応用で出来るかと思ったのですが方法が浮かびませんでした。
投稿日時 - 2002-03-01 10:39:34

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ