こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQL SERVER 店舗毎のTOP10

表題の件のSQLについてアドバイスお願いいたします。

DB:SQL SERVER 2008 R2

テーブル:売上伝票

カラム
店舗|伝票No|伝票日付|商品CD|商品名|数量|単価|金額(数量x単価)

SELECT TOP 10
店舗NO,
商品CD,
商品名,
SUM(数量) AS 販売数,
SUM(金額)AS 販売金額
FROM 売上伝票
WHERE 伝票日付 BETWEEN [開始日] AND [終了日]
GROUP BY 店舗NO,商品CD,商品名,
ORDER BY 店舗NO,販売金額 DESC
当然ですが、上記のSQLでは、一番若い店舗NOのトップ10しか抽出できません。

店舗別、販売金額のトップ10を抽出するための、SQL文についてお教えください。

投稿日時 - 2015-12-02 23:23:12

QNo.9089801

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

販売金額のトップ10なんだから販売金額のみでソートすればよいと思いますが。。。
店舗でソートしたいなら抽出後にすればよいかと。
-----
SECELT *
FROM
(SELECT TOP 10
店舗NO,
商品CD,
商品名,
SUM(数量) AS 販売数,
SUM(金額)AS 販売金額
FROM 売上伝票
WHERE 伝票日付 BETWEEN [開始日] AND [終了日]
GROUP BY 店舗NO,商品CD,商品名,
ORDER BY 販売金額 DESC)
ORDER BY 店舗NO

投稿日時 - 2015-12-03 22:06:41

あなたにオススメの質問