- ベストアンサー
SQL文の書き方
商品 商品番号 単価 あああ 10 200 いいい 10 201 ううう 20 202 えええ 20 203 おおお 40 204 上のような1つのテーブルから単価の一番高いものの、商品と商品番号だけを表示させたい場合はどのようなsql文にすればいいのでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (3)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
補足: Top句と同値表示 >まぁ同額でトップが複数あった場合に複数出したいとしたらは困るけれども・・・ SELECT TOP(1) WITH TIES ・・・・・ で、それは解決できないのかな?15年も前の記憶だから、定かではないが・・・。
お礼
ありがとうございます。 解決しました。
- yukitakao
- ベストアンサー率44% (16/36)
前の人みたいに副問い合わせ使うのもいいけど↓みたいな書き方も select top 1 商品,商品番号 FROM テーブル order by 単価 desc まぁ同額でトップが複数あった場合に複数出したいとしたら↑は困るけれども SQLのコストはだいぶ低いはず。
お礼
今回は、副問い合わせを使い、なんとか解決しましたが今後の参考にさせていただいます。 ありがとうございました。
- kawais070
- ベストアンサー率52% (2242/4283)
select 商品,商品番号 from テーブル where 単価 in (select max(単価) from テーブル) って感じ?試してないけど。
お礼
できました。 ありがとうございます。
お礼
画像までつけていただいて、分かりやすい解説ありがとうございました。 なんとか解決することができました。