# set decimal places of sum in sql

I have a database I use for a debating competition I am trying to sort the standings out to see which schools will play off in the finals at the end of the semester.

I have this working as shown below however I am not able to round the ptc field, it currently returns up to 4 decimal places eg 0.6667 if they have won 2 out of 3 debates.

```    SELECT   t.id,
t.name                  AS name,
SUM(t.id  = d.winnerid) AS w,
SUM(t.id != d.winnerid) AS l,
SUM(t.id  = d.winnerid)/(SUM(t.id  = d.winnerid)+SUM(t.id != d.winnerid)) AS ptc
FROM     debates AS d
JOIN teams   AS t ON t.id IN (d.hostid, d.visitid)
WHERE    d.visitid != -1
AND d.debatedate < CURDATE()
GROUP BY t.id
ORDER BY ptc DESC
```

I believe I have to use decimal(2,2) here however I am not able to get the syntax right I have tried a few diferent things like

```SUM(t.id  = d.winnerid)/(SUM(t.id  = d.winnerid)+SUM(t.id != d.winnerid)) AS ptc decimal (2,2)
```

Am happy to provide more information about the tables if required but I don’t think it is required?

try this.

```SELECT ROUND(SUM(cash), 2)
FROM <tablename>
```

If you are getting no results, then there must be a null value, try this instead.

```SELECT ROUND(SUM(cash), 2)
FROM<tablename> a
WHERE cash IS NOT NULL
```

Here is a simple demo of it :

Update :

``` SELECT round( ROUND(SUM(p.prod_price = l.prod_unit_price), 2)
/ROUND(SUM(p.prod_id = l.prod_id), 2),2)
FROM b2b.product_master p
join b2b.move_cart_item_master l;
```