SQLコマンドでのTOPとORDER BY句について
Ace_Nagashim
投稿数: 105
SQLコマンドのTOP指定がうまくいかなくて困っています。
下記のような会員マスターテーブルがあったとします。
会員CD 会員名 住所 購入額
0001 松田 信彦 福岡市博多区 1,000
0002 内川 誠一 福岡市南区 2,500
0003 柳田 弘樹 佐賀市嘉瀬町 2,000
0004 本多 祐司 福岡市中央区 13,000
0005 今宮 健一 長崎市深堀町 8,000
0006 長谷川裕也 福岡市東区 6,000
0007 中村 明 福岡市早良区 8,000
0008 森福 克彦 福岡市博多区 15,000
住所が福岡市で購入額3000以上の顧客の上位3名を抽出するため
下記のSQLコマンドを実行しました。
SELECT TOP 3 会員CD,会員名,購入額 FROM 会員マスター
WHERE 購入額>=2000 AND 住所 LIKE '%福岡市%'
ORDER BY 購入額 DESC
実行結果は
会員CD 会員名 購入額
0004 本多 祐司 13,000
0006 長谷川裕也 6,000
0002 内川 誠一 2,500
表示順はORDER BY で指定した購入額の降順になっていますが、
TOP 3 が購入額では無く、会員CDを対象にしているようです。
購入額の多い順でのTOP3を抽出するためにはどのようにしたらいいか
ご教示をお願いします。
下記のような会員マスターテーブルがあったとします。
会員CD 会員名 住所 購入額
0001 松田 信彦 福岡市博多区 1,000
0002 内川 誠一 福岡市南区 2,500
0003 柳田 弘樹 佐賀市嘉瀬町 2,000
0004 本多 祐司 福岡市中央区 13,000
0005 今宮 健一 長崎市深堀町 8,000
0006 長谷川裕也 福岡市東区 6,000
0007 中村 明 福岡市早良区 8,000
0008 森福 克彦 福岡市博多区 15,000
住所が福岡市で購入額3000以上の顧客の上位3名を抽出するため
下記のSQLコマンドを実行しました。
SELECT TOP 3 会員CD,会員名,購入額 FROM 会員マスター
WHERE 購入額>=2000 AND 住所 LIKE '%福岡市%'
ORDER BY 購入額 DESC
実行結果は
会員CD 会員名 購入額
0004 本多 祐司 13,000
0006 長谷川裕也 6,000
0002 内川 誠一 2,500
表示順はORDER BY で指定した購入額の降順になっていますが、
TOP 3 が購入額では無く、会員CDを対象にしているようです。
購入額の多い順でのTOP3を抽出するためにはどのようにしたらいいか
ご教示をお願いします。
投票数:0
平均点:0.00
投稿ツリー
-
SQLコマンドでのTOPとORDER BY句について
(Ace_Nagashim, 2016-7-29 16:29)
- Re: SQLコマンドでのTOPとORDER BY句について (nkmt, 2016-7-29 17:11)
- Re: SQLコマンドでのTOPとORDER BY句について (Ace_Nagashim, 2016-8-3 9:36)