回答

收藏

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

技术问答 技术问答 194 人阅读 | 0 人回复 | 2023-09-14

首先,如果别名是一个错误的词,请纠正我。我在谈论使用AS运算符重命名列。
- j: I9 w! t/ p  _) I9 R所以我试图计算这个平均值:
& [* L  P% K2 n3 fSELECTusers.username AS player_name,COUNT(*) AS total_games,SUM(games.points) AS total_points,(total_points / total_games) AS average_pointsFROM games,INNER JOIN usersON games.player_id = users.idGROUP BY games.player_id(查询可能是错误的,只是一个简单的例子)) T' r3 g: i% ?7 N% m% I# B
在此查询中,
# X. a1 r( u/ y6 ~2 O; O" y8 j(total_points / total_games) AS average_points给出一个错误unknown column total_points
% R& ]8 o: E/ h4 x, @/ G% S) l: H' T因此,如何继续使用别名而不是编写以下代码来解决这个问题:
% ]  S; ]5 Z7 \9 _. k' F  I(SUM(games.points) / COUNT(*) ) AS average_points谢谢你的帮助 !
7 _* \, K. p2 \4 q                                                                $ I( Z" b. O4 I1 d  c
    解决方案:                                                               
+ X" c2 p% v8 G' m$ i                                                                我相当确定不可能使用这样的别名。你必须长时间这样做…% Q+ s9 W5 J; s: R4 g8 G! I
(SUM(games.points) / COUNT(*) ) AS average_points编辑:    我想把这个答案编辑成第二个 @jbeldock
7 c1 A3 E! K' _: X: M" G答案是我多次使用的解决方案。我发现我写了一个公式,并在查询的其他部分重复使用,导致复制/粘贴部分的大规模混乱查询。Forumlas放在子查询中,让你在外部查询中使用它们的结果,让事情更加优雅。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则