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

解決済みの質問

SQL文の書き方

商品  商品番号  単価  
あああ  10     200
いいい  10     201
ううう    20     202
えええ  20     203
おおお  40     204

上のような1つのテーブルから単価の一番高いものの、商品と商品番号だけを表示させたい場合はどのようなsql文にすればいいのでしょうか?
よろしくお願いします。

投稿日時 - 2014-10-07 16:27:55

QNo.8782263

すぐに回答ほしいです

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

SELECT TOP 1 商品コード, 商品名
FROM 受注履歴
ORDER BY 受注履歴.価格 DESC;

これは Access のSQL文。

SQL SERVER でも ORDER BY 句で単価の高い順に並べトップの1行のみを取得するという考え方は同じ。ただし、Top句の書き方は

TOP 1⇒TOP(1)

になります。

http://msdn.microsoft.com/ja-jp/library/ms189463.aspx

投稿日時 - 2014-10-07 16:55:27

お礼

画像までつけていただいて、分かりやすい解説ありがとうございました。
なんとか解決することができました。

投稿日時 - 2014-10-09 13:33:41

ANo.3

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

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

-広告-
-広告-

回答(4)

ANo.4

補足: Top句と同値表示

>まぁ同額でトップが複数あった場合に複数出したいとしたらは困るけれども・・・

SELECT TOP(1) WITH TIES ・・・・・

で、それは解決できないのかな?15年も前の記憶だから、定かではないが・・・。

投稿日時 - 2014-10-07 19:46:59

お礼

ありがとうございます。
解決しました。

投稿日時 - 2014-10-09 13:36:56

ANo.2

前の人みたいに副問い合わせ使うのもいいけど↓みたいな書き方も

select top 1 商品,商品番号 FROM テーブル order by 単価 desc

まぁ同額でトップが複数あった場合に複数出したいとしたら↑は困るけれども SQLのコストはだいぶ低いはず。

投稿日時 - 2014-10-07 16:44:32

お礼

今回は、副問い合わせを使い、なんとか解決しましたが今後の参考にさせていただいます。
ありがとうございました。

投稿日時 - 2014-10-09 13:36:22

ANo.1

select 商品,商品番号 from テーブル
where 単価 in (select max(単価) from テーブル)

って感じ?試してないけど。

投稿日時 - 2014-10-07 16:38:27

お礼

できました。
ありがとうございます。

投稿日時 - 2014-10-09 13:34:14

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-