当前位置: 首页 > 面试题库 >

要计算sum()两个名为列的别名-在SQL中

赏光霁
2023-03-14
问题内容

计算在查询中声明的两个临时列名称的sum()-在SQL中

stud表只有两列m1,m2。将total和total1作为临时名称给出。

select 
   m1, m2, 
   SUM(m1) + SUM(m2) as Total,
   SUM(m1) + SUM(m2) as Total1 
from 
   stud 
group by 
   m1, m2

如何计算grandtotal作为sum(total)+sum(total1)与列名声明为临时名称为查询执行。

使用cte不支持重复的列名吗?

如何利用它来支持重复的列名


问题答案:

您不能直接做到这一点-您需要使用CTE(公用表表达式)之类的东西-像这样:

;WITH sums AS 
(
   SELECT
      m1, m2, 
      SUM(m1) + SUM(m2) as Total,
      SUM(m1) + SUM(m2) as Total1 
   FROM
      dbo.stud 
   GROUP BY
      m1, m2
)
SELECT 
   m1, m2, 
   total, total1, 
   total+total1 AS 'GrandTotal' 
FROM 
   sums

它在SQL Server 2005和更高版本(以及支持CTE(这是ANSI标准)的某些其他数据库系统)中运行。



 类似资料:
  • 问题内容: 我使用别名来引用计算列。这是我尝试制作的实际代码的一部分,用于计算相似度并返回相似度得分为3或更高的匹配项。 异常消息: 无效的列名“相似性”。 由于相似性不是真正的专栏文章,我将如何进行这项工作? 问题答案: 在查询的投影()阶段执行列别名和计算,该阶段在选择(和)阶段之后发生。因此,无法在子句或条件中引用它们,因为它们尚不存在。您可以将带有子句的查询用作子查询,也可以在子句中重复计

  • 问题内容: 为什么此查询不起作用? 在此示例中,我尝试在其他计算中使用my_num别名。这导致未知列“ my_num” 这是我正在尝试做的简化版本,但是基本上我想使用别名进行其他计算。我的计算要复杂得多,这就是为什么给它加上别名的原因,因为我以不同的方式重复了几次。 问题答案: 只需将您的重用别名包装为:

  • 问题内容: 我在用多个JOIN进行查询时注意到,除非给表名之一指定别名,否则查询将无法工作。 这是一个简单的例子来说明这一点: 这 不起作用 : 这样 做 : 有人可以解释吗? 问题答案: 您在查询中使用同一个表购买两次。您需要通过提供不同的名称来区分它们。 您需要提供一个别名: 想象两个人有完全相同的约翰·多伊。如果您致电John,双方都会回复您的电话。您不能给两个人使用相同的名字,并假设他们会

  • 有一种情况,我的java代码是象征性的查询- Java详细信息的代码- 现在,如何在API中按标准进行排序。 如果我按根排序。CARD_NUM,该属性在根目录中不存在。-抛出异常 如果我按caseSelect表达式本身排序,它会抛出一个错误,说明CARD_ID不在查询的选定部分中 我不能在select表达式中使用card_num/card_id,这不适合查询 有没有办法直接用别名订购?我知道顺序是

  • 通过使用 SQL,可以为表名称或列名称指定别名。 SQL 别名 通过使用 SQL,可以为表名称或列名称指定别名。 基本上,创建别名是为了让列名称的可读性更强。 列的 SQL 别名语法SELECT column_name AS alias_name FROM table_name; 表的 SQL 别名语法SELECT column_name(s) FROM table_name AS alias_n

  • 问题内容: 我有一个雄辩的模型,名为Eloquent: 现在,我想向其中添加连接语句,我定义了一个scopeQuery与: 然后我们的主要查询更改为: 我得到的没问题,这是我所期望的,但是我想将标签表的name属性更改为tag_name,该怎么办?我的意思是,我在查询中的某处说: 因此,在最终结果数组中,我这样做: 现在,我必须: 问题答案: 最简单的方法是将所需字段添加到方法中,并为要重命名的字