• ベストアンサー

SQL文の書き方

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

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

  • ベストアンサー
回答No.3

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

ryiryilp
質問者

お礼

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

その他の回答 (3)

回答No.4

補足: Top句と同値表示 >まぁ同額でトップが複数あった場合に複数出したいとしたらは困るけれども・・・ SELECT TOP(1) WITH TIES ・・・・・ で、それは解決できないのかな?15年も前の記憶だから、定かではないが・・・。

ryiryilp
質問者

お礼

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

  • yukitakao
  • ベストアンサー率44% (16/36)
回答No.2

前の人みたいに副問い合わせ使うのもいいけど↓みたいな書き方も select top 1 商品,商品番号 FROM テーブル order by 単価 desc まぁ同額でトップが複数あった場合に複数出したいとしたら↑は困るけれども SQLのコストはだいぶ低いはず。

ryiryilp
質問者

お礼

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

  • kawais070
  • ベストアンサー率52% (2242/4283)
回答No.1

select 商品,商品番号 from テーブル where 単価 in (select max(単価) from テーブル) って感じ?試してないけど。

ryiryilp
質問者

お礼

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