- ベストアンサー
SELECTした値との比較
SELECT (`総額` / `個数`) FROM tb_item で`総額`を`個数`で割った単価(のような)値が取得できるものとします。 このとき、この「計算で出た単価」と「10,000という値」を比較して大きいほうの値を返すクエリはどのように書くのでしょうか? なんとなく、 SELECT MAX(`総額` / `個数`, 10000) FROM tb_item のような感じで取得できるような関数を探していますが、MAXだと列の中で最大値を取得してしまうので渡しが使いたい内容と違います。 サブクエリを使わずになるべく簡潔に書く方法を知りたいです。 どうぞよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通、条件分岐はIFやCASEを使います。 SELECT IF(`総額` / `個数` < 10000,10000,`総額` / `個数`); SELECT CASE WHEN `総額` / `個数` < 10000 THEN 10000 ELSE `総額` / `個数` END; ただ単に「大きいほう」なら SELECT GREATEST(`総額` / `個数`,10000); でも構いません。
その他の回答 (1)
- Picosoft
- ベストアンサー率70% (274/391)
回答No.1
GREATEST関数とかどうでしょう? http://db.yulib.com/mysql/000018.html http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#function_greatest
質問者
お礼
ありがとうございます!できました!
お礼
ありがとうございます。 いろいろな書き方があるのですね。 今回はGREATESTを使いますが参考になりました!