【发布时间】:2021-04-30 01:59:52
【问题描述】:
在 SQL 中,我如何在选择查询中使用案例别名,有问题的是一个计数,例如,您将在下面看到选择别名设置为 as,但我不能在其余部分中使用别名选择查询。使用 MySQL。
下面有问题的行是:
(win / total) * 100 as win_percent
DECLARE @team TEXT;
SET @team = "myTeam";
SELECT
@team team,
COUNT(CASE WHEN home = @team then 1 ELSE NULL END) as home,
COUNT(CASE WHEN away = @team then 1 ELSE NULL END) as away,
COUNT(CASE WHEN (away = @team or home = @team) then 1 ELSE NULL END) as total,
COUNT(CASE WHEN winner = @team and (home = @team or away = @team) then 1 ELSE NULL END) as win,
COUNT(CASE WHEN (home = @team or away = @team) and (winner <> @team and winner <> "0") then 1 ELSE NULL END) as lost,
COUNT(CASE WHEN winner = "0" and (home = @team or away = @team) then 1 ELSE NULL END) as tie,
(869 / 1928) * 100 as win_percent,
(win / total) * 100 as win_percent
from matches;
【问题讨论】:
-
不行。使用表达式而不是别名。或者将您的查询移动到子查询/CTE 中,并在外部查询中使用 win/total 列值。
标签: mysql sql database select mariadb