• ベストアンサー

SELECTした値との比較

SELECT (`総額` / `個数`) FROM tb_item で`総額`を`個数`で割った単価(のような)値が取得できるものとします。 このとき、この「計算で出た単価」と「10,000という値」を比較して大きいほうの値を返すクエリはどのように書くのでしょうか? なんとなく、 SELECT MAX(`総額` / `個数`, 10000) FROM tb_item のような感じで取得できるような関数を探していますが、MAXだと列の中で最大値を取得してしまうので渡しが使いたい内容と違います。 サブクエリを使わずになるべく簡潔に書く方法を知りたいです。 どうぞよろしくお願い致します。

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

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

普通、条件分岐はIFやCASEを使います。 SELECT IF(`総額` / `個数` < 10000,10000,`総額` / `個数`); SELECT CASE WHEN `総額` / `個数` < 10000 THEN 10000 ELSE `総額` / `個数` END; ただ単に「大きいほう」なら SELECT GREATEST(`総額` / `個数`,10000); でも構いません。

suffre
質問者

お礼

ありがとうございます。 いろいろな書き方があるのですね。 今回はGREATESTを使いますが参考になりました!

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1
suffre
質問者

お礼

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

関連するQ&A