dポイントプレゼントキャンペーン実施中!

SELECT (`総額` / `個数`) FROM tb_item

で`総額`を`個数`で割った単価(のような)値が取得できるものとします。
このとき、この「計算で出た単価」と「10,000という値」を比較して大きいほうの値を返すクエリはどのように書くのでしょうか?

なんとなく、

SELECT MAX(`総額` / `個数`, 10000) FROM tb_item

のような感じで取得できるような関数を探していますが、MAXだと列の中で最大値を取得してしまうので渡しが使いたい内容と違います。
サブクエリを使わずになるべく簡潔に書く方法を知りたいです。

どうぞよろしくお願い致します。

A 回答 (2件)

普通、条件分岐はIFやCASEを使います。



SELECT IF(`総額` / `個数` < 10000,10000,`総額` / `個数`);
SELECT CASE WHEN `総額` / `個数` < 10000 THEN 10000 ELSE `総額` / `個数` END;

ただ単に「大きいほう」なら

SELECT GREATEST(`総額` / `個数`,10000);

でも構いません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/11/20 19:00
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/11/20 18:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!