当前位置: 首页 > 面试题库 >

如何在SQL中的数学运算符中使用别名?

席安康
2023-03-14
问题内容

首先,如果“别名”是错误的单词,请纠正我。我是在谈论用AS运算符重命名该列。

所以我正在尝试计算这样的平均值:

SELECT
users.username AS player_name,
COUNT(*) AS total_games,
SUM(games.points) AS total_points,
(total_points / total_games) AS average_points

FROM games,
INNER JOIN users
ON games.player_id = users.id
GROUP BY games.player_id

(查询可能是错误的,只是一个简单的例子)

在此查询中,

(total_points / total_games) AS average_points

给出一个错误: unknown column total_points

因此,如何解决此问题以继续使用别名,而不是编写以下代码

(SUM(games.points) / COUNT(*) ) AS average_points

谢谢你的帮助 !


问题答案:

我相当确定不可能使用这样的别名。您将不得不“漫长”地做下去…

(SUM(games.points) / COUNT(*) ) AS average_points

编辑: 我想将此答案编辑为第二个 @jbeldock
的答案,作为我本人多次使用的解决方案。我发现自己写出公式并在查询的其他部分中重新使用它们,导致带有复制/粘贴部分的大型混乱查询。将您的Forumlas放在子查询中,使您可以在外部查询中使用它们的结果,并使事情更加优雅。



 类似资料:
  • 问题内容: 我有和数组两个值,我想在选择查询中将它与sql IN运算符一起使用。 这是我桌子的结构 我有两个值的数组 我想获取comp_id 1和comp_id 2的记录。因此,我编写了以下查询。 但是它不会返回结果。 问题答案: 由于您拥有普通 整数 就可以做到… (由于不断出现,一些其他信息…) 如果使用 字符串 (特别是 不受信任的 )输入,可以做到 但不能处理NULL之类的值。并会添加引号

  • 我想要的是Hibernate生成1条语句删除所有子级的方法,而不是每个子级1条语句。 如果实体a和B之间存在关系,其中a是父对象,B可以是多个子对象。如果我在实体关系上使用注释,如OrphanRemoving或OnCascade delete,那么当我删除父对象时,自动生成的sql会显示 我想让Hibernate做的是生成SQL 是否有一个注释或设置我可以用来轻松做到这一点? 我觉得我不是第一个遇

  • 问题内容: 假设为了简单起见,我有一个标准的Python字符串(例如从那里获得的字符串)。 我想将此字符串转换为Python中的标准数学运算,以便返回。 有没有简单的方法可以做到这一点,还是我必须在空格上拆分并手动解析每个数字/符号,然后根据找到的内容进行数学运算? 我需要正则表达式吗? 问题答案: 警告:这种方法不是安全的方法,但是非常易于使用。 明智地使用它。 使用eval函数。 输出: 您甚

  • 问题内容: 为什么此查询不起作用? 在此示例中,我尝试在其他计算中使用my_num别名。这导致未知列“ my_num” 这是我正在尝试做的简化版本,但是基本上我想使用别名进行其他计算。我的计算要复杂得多,这就是为什么给它加上别名的原因,因为我以不同的方式重复了几次。 问题答案: 只需将您的重用别名包装为:

  • 问题内容: 我正在尝试在Dropwizard上使用MYSQL JDBI进行IN查询(我认为不相关)。 如这里的建议,我还用 但是,当我启动应用程序时,出现以下错误: 有谁对解决这个问题有个好主意? 问题答案: 有两种方法可以实现它。 1 。使用 该注释期望StringTemplate中具有SQL语句的组文件 说我有这个文件PersonExternalizedSqlDAO 由于我们正在使用,因此必须

  • 本文向大家介绍Python中的数学运算操作符使用进阶,包括了Python中的数学运算操作符使用进阶的使用技巧和注意事项,需要的朋友参考一下 Python中对象的行为是由它的类型 (Type) 决定的。所谓类型就是支持某些特定的操作。数字对象在任何编程语言中都是基础元素,支持加、减、乘、除等数学操作。 Python的数字对象有整数和浮点数,支持各种数学操作,比如+, -,*, /等。 没有这些操作符