我很好奇是否可以将我在 select 子句中创建的列用于其他字段。
例如,我有这个查询——
SELECT
users.officeid,
COUNT(DISTINCT CASE WHEN users.active = 1 THEN user.id ELSE NULL END) as active_users,
COUNT(CASE WHEN users.total = 1 THEN 1 ELSE NULL END) as total_users,
active_users / total_users
FROM users
GROUP BY 1
我想要另一列是 active_users/total_users,但我得到了错误 -->
用户中不存在“active_users”列
我需要将它们放在一个公用表表达式中然后从中选择吗?还有其他解决方案吗?谢谢!
最佳答案
“As ...”仅重命名查询输出的列。
如果您想随时随地计算并避免创建额外的列,您可以执行以下操作:
select count(column1), count(column1),
count(column1) / count(column2)
from table
您还可以为其创建物化 View 。
关于sql - 如何使用我在 select 子句中创建的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47623937/