Let’s say Point table looks like this,
x
point_table
- id (pk)
- amount (Integer)
- used_amount (Integer)
And I write sql like below
SELECT
SUM(amount) as amount,
SUM(used_amount) as used,
SUM(amount) - SUM(used_amount) as unused,
FROM point_table
It works well. But I’m not sure it’s a best way to get subtraction of summed fields. I think it calculate unnecessary summing again.
Is there any better idea?
Thanks!
Advertisement
Answer
What about that:
SELECT
amount, used, amount-used AS unused
FROM (
SELECT
SUM(amount) as amount,
SUM(used_amount) as used
FROM point_table)
or:
SELECT
SUM(amount) as amount,
SUM(used_amount) as used,
SUM(amount - used_amount) as unused,
FROM point_table