gpt4 book ai didi

mysql - 将空字段替换为 0,在查询中使用条件名称

转载 作者:行者123 更新时间:2023-11-29 08:51:45 26 4
gpt4 key购买 nike

这是我的 MySQL 查询:

SELECT ROUND( AVG(p.votes), 2) AS 'votes', games.*
FROM games
LEFT JOIN polls p ON (p.gid = games.id)
GROUP BY games.id;

它工作正常,但如果 polls 表中没有任何游戏投票 - votes 字段为 NULL,那么在结果中 - 我该如何替换它,这样它将显示 0 (因为在 民意调查 中找到 0 行)。

另外:

是否可以命名我的条件,然后使用它。在 MySQL 中进行计算?

这就是我的意思:

SELECT ROUND( AVG(votes), 2) AS 'votes', (votes / 50 * 100) FROM `polls`;

将抛出一条错误消息,指出votes 是那里的未知列。

那么是否可以在我的查询中使用条件(如“投票”)名称来进行计算?

最佳答案

第一:

COALESCE(ROUND( AVG(p.votes), 2), 0)

第二:不,在完全相同的声明中不可能。如果别名部分位于子查询中,则这是可能的。所以你必须重写

(COALESCE(ROUND( AVG(p.votes), 2), 0) / 50 * 100)

COALESCE 和 IFNULL 实现相同的目标(也许方式不完全相同),但 COALESCE 是 ANSI SQL。

关于mysql - 将空字段替换为 0,在查询中使用条件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com