You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何SQL查询中concat函数会作为输出表头显示?如何解决?

HackerRank The Pads 问题:聚合查询的Concat结果被当作表头显示的问题

问题原因

第二个SELECT语句中的concat表达式未指定列别名,数据库会默认将整个表达式字符串作为列的表头名称,因此你会看到表头显示完整的concat语句内容。

解决方法

给concat的结果列添加别名(使用AS关键字),数据库就会用你指定的别名作为表头,而非原始表达式。

修改后的完整代码

select concat(name, '(', substr(occupation,1,1),')') 
from occupations 
order by name;

select concat('There are a total of ', count(occupation), ' ', occupation,'s.') AS summary
from occupations 
group by occupation 
order by count(occupation), occupation;

你也可以用空字符串作为别名(AS ''),不过指定有意义的别名(比如summary)会让代码更易读。在HackerRank的题目评判中,只要最终输出内容符合要求,表头名称不会影响得分,只要不再显示原始concat表达式即可。

内容的提问来源于stack exchange,提问作者Tanmay Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:17:10