我想用select查询进行一些基本的计算。 我有一个名为Distances的表,并且有一个属性保存距离。 我想计算Customer1的距离/ Customer1,Customer2和Customer3的距离总和。 这种查询是否正式正确:
select ((select Distances.distance from Distances
where Distances.CustomerID='1') /
(select SUM (Distances.distance) from Distances
where Distances.CustomerID IN ('1', '2', '3')) as ...
答案 0 :(得分:0)
我想你只想两次使用Distances表。
SELECT member_id, name FROM a
MINUS
SELECT member_id, name FROM b
答案 1 :(得分:0)
只需使用条件聚合:
select max(case when d.CustomerID = '1' then d.distance
end) as Cust1Distance,
sum(case when d.CustomerId in ('1', '2', '3') then d.distance
end) as Cust123Distance
from distances d;
如果您只关注这三个客户,那么添加where d.CustomerId in ('1', '2', '3')
可以提高查询效率。