- 締切済み
SQSQL文を教えてください。
SQL初心者です。 SQL文を教えてください。 ------------------- | A ・ B ・ C | ------------------- | 1 / 12 | A | ------------------- | 1 / 10 | B | ------------------- | 2 / 12 | C | ------------------- このテーブルから一行をセレクトします。 条件 1 A列の最小値 2 A列の最小値が同じ場合は、B列の最小値 したがって、真中の一行をSELECTしたい。 その他 条件 GROUP BYを利用したい 結果はMIN(B)でも、可 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
s_husky です。 とんでもない誤答でした。 Min(A*B) FROM ↓ Min(A*100+B) 当然に、関連部分も全て訂正されます。
SELECT * FROM テーブル1 WHERE A=(SELECT DISTINCTROW Min(A*B) FROM テーブル1) / B AND B=(SELECT DISTINCTROW Min(A*B) FROM テーブル1) /A; というSQL文は、 ID A B 1 1 12 2 1 10 3 2 12 4 1 10 というデータが存在する時は、 ID A B 2 1 10 4 1 10 と2行を取得します。 で、条件に合致した A を求めるには SELECT A FROM テーブル1 WHERE A=(SELECT DISTINCTROW Min(A*B) FROM テーブル1) / B AND B=(SELECT DISTINCTROW Min(A*B) FROM テーブル1) /A GROUP BY A; となります。