SQL统计RETAIL_ORDER订单数与总销售额时如何正确设置结果别名
问题根源
你写的SQL把别名的挂载位置搞错了:SELECT子句里单独列出来的'Total Number Orders',会被数据库识别为一个值固定的常量计算列,完全没有和前面的COUNT(OrderTotal)计数结果建立绑定关系,最终就会出现计数结果没有对应正确列名、反而多出一列固定字符串的错位问题。
修正后的可用查询
SELECT COUNT(OrderTotal) AS 'Total Number Orders', SUM(OrderTotal) AS 'Total Sales' FROM RETAIL_ORDER;
实操注意点
- SQL别名的固定语法是
被命名的表达式 AS 别名,必须把别名紧跟在要命名的聚合函数/字段后面,不能把别名字符串单独放在SELECT的独立位置 - 因为别名本身包含空格,部分严格遵循SQL标准的数据库不支持用单引号包裹别名,这类场景可以根据自己使用的数据库替换成对应兼容的标识符包裹符:比如MySQL用反引号、SQL Server用中括号、PostgreSQL用双引号
内容的提问来源于stack exchange,提问作者Rnmusik
相关产品推荐
相关产品推荐

