[英]To calculate sum() two alias named columns - in sql
計算在查詢中聲明的兩個臨時列名的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 dos不支持重復的列名?
如何利用它來支持重復的列名
你不能直接這樣做 - 你需要使用像CTE(Common Table Expression)這樣的東西 - 像這樣:
;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標准)。
select convert(int, first)+ convert(int,second) as total from test1
在第一個和第二個是字段數據類型是nvarchar
,如果字段是integer
然后
select first+second as total from test1 , test1
是表名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.