我想修改一个列,保留旧列的别名。但是当我按它进行分组时出现错误。
CREATE TABLE some_table (
number1 integer,
number2 integer,
name text
)
使用新的别名后,它可以正常工作:
SELECT number1-number2 AS new_number FROM some_table GROUP BY new_number
但是如果我想保留旧的列名:
SELECT number1-number2 AS number1 FROM some_table group by number1
列“some_table.number2”必须出现在GROUP BY子句中或用于聚合函数
我可以用两种方法解决这个问题:
1.将其包装在另一个select语句中
SELECT new_number AS number1 FROM (
SELECT number1-number2 AS new_number FROM some_table GROUP BY new_number) AS query
2. 在“group by”子句中提供列号
SELECT number1-number2 AS number1 FROM some_table GROUP BY 1
有没有办法在不使用上述提供的解决方案的情况下保留旧别名呢?