私はテーブルを持っています
total_price 単位 unitname
total_price/units が最も低いレコードを選択したいと考えています。
クエリで除算を実行し、最小値のレコードを選択するにはどうすればよいですか?
(単位名でグループ化したいと思います。つまり、1 つがオンスで 1 つがリットルの場合)
order by
句で除算を使用するだけです。
select *
from t
order by total_price / units
limit 1;
安全のために --units
が 0 の場合 -- 次のようにできます:
select *
from t
where units <> 0
order by total_price / units
limit 1;
それまでにこれが必要な場合はunit_name
、次を使用しますmin()
。
select unit_name, min(total_price / units)
from t
group by unit_name