
以下のような表があります。
カテ 年 上下期 売り上げ
------------------------
A 2011 1 10
A 2011 2 12
A 2012 1 9
A 2012 2 11
B 2011 1 11
B 2011 2 15
B 2012 1 8
B 2012 2 10
ここからsqlを使ってどの年のどのカテゴリの年間総売上が一番多いかを結果として出したいです。
なので
カテ 年 総売上
----------------
B 2011 26
という結果が欲しいのですがどうすればよいですか?
SUMを使って年間の総売上は出せるのですがそこからMAXを使っても上のような結果がでません。
またカテゴリに関係なく総売上(A+B)が一番多い年を出すにはどうしたらよいですか?
よろしくお願いします。
なんかうまく表のスペースが反映されなくて見難くてすみません。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> TOP句がうまく機能しないんです・・・。
あっ、しまった。昇順ですので総売上が一番小さいのが表示レさてしまいますね。
ORDER BY句を降順に変更してください。
ORDER BY 総売上 DESC;
No.3
- 回答日時:
こんな感じかな?
SELECT TOP 1 カテ, 年, 総売上
FROM (
SELECT カテ, 年, Sum(売り上げ) AS 総売上
FROM テーブル名
GROUP BY カテ, 年
)
ORDER BY 総売上;
って、ANo.1さんのヒントをそのままSQLにしただけですが。
ANo.2 だと、上位1件に絞り込めないと思います。
回答ありがとうございます。
お礼が遅れてすみません。
No.1さんのお礼にも書きましたが
TOP句がうまく機能しないんです・・・。
でもFROMの所に()を使って条件を書けることを知らなかったので
すごく参考になりました。ありがとうございます。
No.2
- 回答日時:
select カテ , 年 , max(uri) from (
select カテ , 年 , sum(売上) as uri from table
group by カテ , 年
)
group by カテ , 年
select 年 , max(uri) from (
select 年 , sum(売上) as uri from table
group by 年
)
group by 年
こんな感じでしょうか。
未検証です・・スミマセン。
回答ありがとうございます。
お礼が遅れてすみません。
これは試してみたのですがトップ1が出てきませんでした。
でもできればmaxを使って出したかったので参考になりました。
ありがとうございます:)
No.1
- 回答日時:
こんちは。
全部教えたら面白くないと思うので構文はご自身でどうぞ。
>>SUMを使って年間の総売上は出せるのですがそこからMAXを使っても上のような結果がでません。
んー。そこまで行ってるなら、「総売上」でソートかけて、上位1レコード(top句)だけ取得すればいいんじゃないかと。
>>総売上(A+B)が一番多い年を出すには
上の奴が出来ているなら、「group by」句は使ってますよね?
「年」でgroup byして、総売上のソートを行うだけ。
ですよ。
回答ありがとうございます。
お礼が遅れてすみません。
TOP句というものの存在を知りませんでした!
調べてみて使ってみたのですが、どうもうまくいきません・・・。
書き忘れてしまったのですがUbuntuのDB2を使っています。
何か関係あるのでしょうか・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLで違うテーブルの結果を組み...
-
ACCESS検索★ある文字を複数のフ...
-
Excel 2019 のピボットテーブル...
-
【続続】Access2002で連番のつ...
-
【Access】フォームで自動計算...
-
OCNのwebメールを開くとき、シ...
-
保存された情報として表示され...
-
再計算って出来ますか?
-
Accessで、複数のテーブルで随...
-
Accessのクエリでデータの入力...
-
accsessで顧客コードで氏名を呼...
-
どれがPrimary Key、ForeignKey...
-
datファイルからaccessにインポ...
-
下記の事を行うSQLがわかりませ...
-
Countと受付状態の表示に...
-
Access クロス集計クエリについて
-
デザインビューで、連結式 を...
-
Access2000 更新のタイミング?
-
カウントが出来ません
-
Vbaでアクセスからエクセルにリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLでグループ化した結果の件数...
-
MySQLで改行を含む文の登録のし...
-
項目名の制限について
-
フォームで検索 エラーの表示...
-
列名無効について
-
Accessで期間指定の売上合計と...
-
ORA-01722: 数値が無効です
-
改行コードを削除して取得する...
-
縦表示データを列として取得す...
-
DATA 集計
-
SQL抽出方法:売上Tを集計した...
-
SQLServerにおける累積、累計取...
-
オラクルSQLの累計値取得方法に...
-
DB設計
-
SQL抽出方法に悩んでいます④
-
以下のようなSQLについて教えて...
-
SQL抽出方法に悩んでいます。 S...
-
インサート文での条件の指定に...
-
ORACLEのUPDATEについて...
-
SQLでNOT INと!=ALLの違い
おすすめ情報