postgresql 在列别名中使用CONCAT

eh57zj3b  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(1)|浏览(126)

我在一个Python访问的SQL笔记本中有一堆重复的查询。

colum_to_agg = f'''data_col_1'''

sql_aggregates_query=f'''
avg({colum_to_agg}) as (concat({colum_to_agg},'_mean')),
max({colum_to_agg}) as (concat({colum_to_agg},'_max')),
'''

print(sql_aggregates_query)

哪个回来了

avg(data_col_1) as (concat(data_col_1,'_mean')),
max(data_col_1) as (concat(data_col_1,'_max')),

我想去的地方

avg(data_col_1) as data_col_1_mean,
max(data_col_1) as data_col_1_max,

我可以让查询运行

colum_to_agg = f'''data_col_1'''

sql_aggregates_query=f'''
avg({colum_to_agg}) as {colum_to_agg}{'_mean'},
max({colum_to_agg}) as {colum_to_agg}{'_max'},
'''
print(sql_aggregates_query)

但是我很想知道在别名中使用concat是否可行

u0njafvf

u0njafvf1#

可以在没有concat函数的情况下编写查询。

colum_to_agg = f'''data_col_1'''

sql_aggregates_query=f'''
avg({colum_to_agg}) as {colum_to_agg}_mean,
max({colum_to_agg}) as {colum_to_agg}_max'''

print(sql_aggregates_query)

这应该可以解决查询格式的问题。

相关问题