我有一张桌子
总价格单位单位名称
我想选择 total_price/units 最低的记录。
如何在查询中执行除法然后选择具有最低值的记录?
(我也想按单位名称分组 - 即如果一个是盎司,一个是升)
您只需在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