SQL查询(条件)
我正在尝试从SQL表进行查询。对于我试图在查询中实现的有条件的事情,我在获取if语句时遇到了问题 如果玩家的死亡数=0,我希望kd列(比率)等于kills,而不是NULL。这是我目前的问题,我不知道该如何回答SQL查询(条件),sql,Sql,我正在尝试从SQL表进行查询。对于我试图在查询中实现的有条件的事情,我在获取if语句时遇到了问题 如果玩家的死亡数=0,我希望kd列(比率)等于kills,而不是NULL。这是我目前的问题,我不知道该如何回答 SELECT name, time, map, kills, deaths, kills/deaths AS kd FROM history; 逻辑我想要: 如果死亡=0:死亡/死亡=死亡 您可以使用大小写表达式: SELECT name, time, map, kills, dea
SELECT name, time, map, kills, deaths, kills/deaths AS kd
FROM history;
逻辑我想要:
- 如果死亡=0:死亡/死亡=死亡
大小写
表达式:
SELECT name, time, map, kills, deaths,
(case when deaths = 0 then kills else kills/deaths end) as kd
FROM history;
通常,为了避免被零除,结果为NULL
就足够了。如果这是您真正想要的,那么NULLIF()
是一个更好的解决方案:
SELECT name, time, map, kills, deaths,
( kills / NULLIF(deaths, 0) ) as kd
FROM history;
你所需要的只是一个WHERE子句
并在插入数据库时做出更好的声明。非常感谢。case表达式正是我想要的。