質問 |
||
| QNo.3534317 | SQL の抽出方法 | |
|---|---|---|
| 質問者:gogoogoo11 |
あるテーブルABC に項目aとbとc があるとします。 今、抽出の条件が 仮にa=1,b=2 として、 この条件で複数件のデータが抽出され その中からcが最大のデータ1件のみを抽出するとします。 このSQLを作成する場合、 どのような方法がありますでしょうか? select文で、1度cのmax値を求めないといけないでしょうか? |
|
困り度:
|
||
| 質問投稿日時: 07/11/20 21:33 |
||
回答 |
|
| ANo.2 | >select文で、1度cのmax値を求めないといけないでしょうか? そうですね。 動作確認していませんが、以下のように記述することが可能です。 select * from ABC where c=(select max(c) from ABC where a=1 and b=1) |
|---|---|
| 回答者:akisusao | |
| 種類:回答 どんな人:経験者 自信:参考意見 |
|
| 回答日時: 07/11/21 02:05 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | a,b,c以外の列があるということですか? select * from ABC as X where a=1 and b=2 and c=(select max(c) from ABC where a=X.a and b=X.b) |
|---|---|
| 回答者:chukenkenkou | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/11/21 02:02 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |