ak8*_*k85 6 mysql sql sum decimal
我有一个数据库,我用于辩论比赛我试图排名积分,看看哪些学校将在学期末的决赛中发挥作用.
我有这个工作如下所示但是我无法绕过ptc字段,它目前返回最多4个小数位,例如0.6667如果他们赢得了3个辩论中的2个.
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
Run Code Online (Sandbox Code Playgroud)
我相信我必须在这里使用十进制(2,2)但是我无法正确使用语法我尝试了一些不同的东西,比如
SUM(t.id = d.winnerid)/(SUM(t.id = d.winnerid)+SUM(t.id != d.winnerid)) AS ptc decimal (2,2)
Run Code Online (Sandbox Code Playgroud)
如果需要,我很乐意提供有关表格的更多信息,但我不认为这是必需的?
Jav*_*s ღ 15
试试这个.
SELECT ROUND(SUM(cash), 2)
FROM <tablename>
Run Code Online (Sandbox Code Playgroud)
如果没有结果,那么必须有一个空值,请尝试这样做.
SELECT ROUND(SUM(cash), 2)
FROM<tablename> a
WHERE cash IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
这是一个简单的演示:
更新:
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32230 次 |
| 最近记录: |