當前位置:首頁 » 編程語言 » sql總計結果
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql總計結果

發布時間: 2022-05-12 06:16:57

1. sql 報表統計 總計小計

select 月份,電費,管理費,雜費,餐費,其他,總計 from
(select cast((month(DATE)) as char(2)) as 月份一,cast((month(DATE))as char(2)) as 月份,
sum(case when OUTPUT_STYTLE='電費' then AMOUNT else 0 end) as 電費,
sum(case when OUTPUT_STYTLE='管理費' then AMOUNT else 0 end) as 管理費,
sum(case when OUTPUT_STYTLE='雜費' then AMOUNT else 0 end) as 雜費,
sum(case when OUTPUT_STYTLE='餐費' then AMOUNT else 0 end) as 餐費,
sum(case when OUTPUT_STYTLE='其他' then AMOUNT else 0 end) as 其他,
sum(case when ID>0 then AMOUNT else 0 end ) as 總計
from DB_DAILY_OUTPUT where(year(DATE)='"+year+"') group by (month(DATE))
union
select '13' as 月份一,'合計' as 月份,
sum(case when OUTPUT_STYTLE='電費' then AMOUNT else 0 end) as 電費,
sum(case when OUTPUT_STYTLE='管理費' then AMOUNT else 0 end) as 管理費,
sum(case when OUTPUT_STYTLE='雜費' then AMOUNT else 0 end) as 雜費,
sum(case when OUTPUT_STYTLE='餐費' then AMOUNT else 0 end) as 餐費,
sum(case when OUTPUT_STYTLE='其他' then AMOUNT else 0 end) as 其他,
sum(case when ID>0 then AMOUNT else 0 end ) as 總計
from DB_DAILY_OUTPUT where(year(DATE)='"+year+"') )a
order by 月份一

2. sql怎麼講查詢結果求和如圖

你好,很高興回答你的問題。最簡單的就是把你的這個查詢當做一個子查詢來求和。
select sum(總計) from (你的查詢)
如果有幫助到你,請點擊採納。

3. sql 中怎麼把兩個總計結果都顯示在一個欄位里

有個 lpad 的函數可以左邊補0

4. 如何使用sql語句查詢出特殊的匯總結果

SELECT DISTINCTROW 員工,消費項目, Sum(數量) AS 總計
FROM zj_detial
GROUP BY 員工, 消費項目
ORDER BY 員工, 消費項目;
****************************************************
那個 第一個列的相同數據就不顯示了 我做不到

5. SQL欄位累加求和的問題

SELECT ID,STRING1,STRING2 from table UNION
select ID=0,string1=string1+'小計',countresult=count(1),sum1=sum(string2) from talbe group by string1 union
select ID=0,string1='總計',countresult=count(1),sum1=sum(string2) from table order by string1,id
結果為包括了小計和總計,和明細,並按順序排列

6. sql如何實現總計

算出總計行,使用unionall並起來就可以。但是這樣會算多一遍,建議計算總數還是放在後台代碼或者前端進行計算,這樣才比較節省性能。

SELECT

a.BUFullName'公司',

a.ProjName'項目',

a.BldName'樓棟',

a.count_num'總套數',

a.total'總按揭金額',

b.count_num'未完成套數',

b.total'未辦理金額'

FROM

(

SELECT

p2.BUFullName,

p1.ProjName,

p6.BldName,

count(p6.BldName)'count_num',

sum(p3.AjTotal)'total'

FROM

p_ProjectASp1

.BUGUID=p1.BUGUID

LEFTJOINs_SaleServiceASp4ONp4.ProjGUID=p1.p_Projectid

ANDp4.ServiceItemEnum='2'

RIGHTJOINs_ContractASp3ONp3.ContractGUID=p4.SaleGUID

ANDp3.StatusEnum='1'

INNERJOINs_RoomASp5ONp5.RoomGUID=p3.RoomGUID

INNERJOINs_BuildingASp6ONp6.BldGUID=p5.BldGUID

ANDp6.IsBld!='0'

WHERE

p1.p_Projectid=@projGUID

GROUPBY

p2.BUFullName,

p1.ProjName,

p6.BldName

)ASaleft

JOIN(

SELECT

j6.BldName,

count(j6.BldName)'count_num',

sum(j3.AjTotal)'total'

FROM

p_ProjectASj1

.BUGUID=j1.BUGUID

LEFTJOINs_SaleServiceASj4ONj4.ProjGUID=j1.p_Projectid

ANDj4.ServiceItemEnum='2'

ANDj4.ServiceProcCode='1'

RIGHTJOINs_ContractASj3ONj3.ContractGUID=j4.SaleGUID

ANDj3.StatusEnum='1'

INNERJOINs_RoomASj5ONj5.RoomGUID=j3.RoomGUID

INNERJOINs_BuildingASj6ONj6.BldGUID=j5.BldGUID

ANDj6.IsBld!='0'

WHERE

j1.p_Projectid=@projGUID

GROUPBY

j6.BldName,

j2.BUFullName,

j1.ProjName

)ASbONa.BldName=b.BldNameORDERBYa.BldName

unionALL

SELECT

'總計''公司',

'總計''項目',

'總計''樓棟',

sum(a.count_num)'總套數',

sum(a.total)'總按揭金額',

sum(b.count_num)'未完成套數',

sum(b.total)'未辦理金額'

FROM

(

SELECT

p2.BUFullName,

p1.ProjName,

p6.BldName,

count(p6.BldName)'count_num',

sum(p3.AjTotal)'total'

FROM

p_ProjectASp1

.BUGUID=p1.BUGUID

LEFTJOINs_SaleServiceASp4ONp4.ProjGUID=p1.p_Projectid

ANDp4.ServiceItemEnum='2'

RIGHTJOINs_ContractASp3ONp3.ContractGUID=p4.SaleGUID

ANDp3.StatusEnum='1'

INNERJOINs_RoomASp5ONp5.RoomGUID=p3.RoomGUID

INNERJOINs_BuildingASp6ONp6.BldGUID=p5.BldGUID

ANDp6.IsBld!='0'

WHERE

p1.p_Projectid=@projGUID

GROUPBY

p2.BUFullName,

p1.ProjName,

p6.BldName

)ASaleft

JOIN(

SELECT

j6.BldName,

count(j6.BldName)'count_num',

sum(j3.AjTotal)'total'

FROM

p_ProjectASj1

.BUGUID=j1.BUGUID

LEFTJOINs_SaleServiceASj4ONj4.ProjGUID=j1.p_Projectid

ANDj4.ServiceItemEnum='2'

ANDj4.ServiceProcCode='1'

RIGHTJOINs_ContractASj3ONj3.ContractGUID=j4.SaleGUID

ANDj3.StatusEnum='1'

INNERJOINs_RoomASj5ONj5.RoomGUID=j3.RoomGUID

INNERJOINs_BuildingASj6ONj6.BldGUID=j5.BldGUID

ANDj6.IsBld!='0'

WHERE

j1.p_Projectid=@projGUID

GROUPBY

j6.BldName,

j2.BUFullName,

j1.ProjName

)ASbONa.BldName=b.BldName

7. 用sql 如何實現 報表的分組的小計,合計!最後還有一個總計

如果要使用SQL來實現的話,可以採用臨時表,但是這樣必然會犧牲效率。

SELECT * INTO #TEMP FROM 表

INSERT INTO #TEMP VALUES(....) --這一句是你的小計、合計、總計

SELECT * FROM #TEMP

過程基本如此,需要注意的是臨時表欄位的類型,如果出現某欄位不允許為空的話,可以採用如下語句來變更欄位類型:
ALTER TABLE #TEMP
ALTER COLUMN 欄位名 類型 NULL

最後要注意的是排序,要使得小計、合計、總計在結果集的最後。

8. 資料庫中如何分類、分組並總計SQL數據

需要用group
by語句來統計。
1、創建測試表、插入數據:
createtabletest
(idint,
namevarchar(10),
scoreint,
classnamevarchar(20));

insertintotestvalues(1,'張三',100,'一班');
insertintotestvalues(2,'李四',89,'一班');
insertintotestvalues(3,'王五',97,'一班');
insertintotestvalues(4,'趙六',87,'二班');
insertintotestvalues(5,'孫七',94,'二班');
insertintotestvalues(6,'楊八',76,'二班');
2、查詢每個班級的總分,可用如下語句:
selectclassname,SUM(score)as總分fromtestgroupbyclassname;
3、結果截圖:

9. 如何得到SQL查詢總和

SELECT SUM(A.COL) FROM A;--求具體那一列的和值
SELECT COUNT(1) FROM A;--求查詢結果總數

10. 如何用SQL語句查詢出業務員每個月的業績和總計

IFOBJECT_ID('saleinfo')ISNOTNULLDROPTABLEsaleinfo

--創建模擬表
createtablesaleinfo(
idintidentity(1,1)primarykey,
salesmannvarchar(50)null,
salemonthnvarchar(50)null,
achievementint
)
--載入模擬數據
insertintosaleinfo(salesman,salemonth,achievement)values('A','1月5日',10)
insertintosaleinfo(salesman,salemonth,achievement)values('A','1月7日',20)
insertintosaleinfo(salesman,salemonth,achievement)values('A','2月4日',30)
insertintosaleinfo(salesman,salemonth,achievement)values('A','2月7日',40)
insertintosaleinfo(salesman,salemonth,achievement)values('A','3月2日',50)
insertintosaleinfo(salesman,salemonth,achievement)values('A','3月9日',60)
insertintosaleinfo(salesman,salemonth,achievement)values('B','1月5日',70)
insertintosaleinfo(salesman,salemonth,achievement)values('B','1月7日',80)
insertintosaleinfo(salesman,salemonth,achievement)values('B','2月4日',90)
insertintosaleinfo(salesman,salemonth,achievement)values('B','2月7日',10)
insertintosaleinfo(salesman,salemonth,achievement)values('B','3月2日',20)
insertintosaleinfo(salesman,salemonth,achievement)values('B','3月9日',30)
insertintosaleinfo(salesman,salemonth,achievement)values('C','1月5日',40)
insertintosaleinfo(salesman,salemonth,achievement)values('C','1月7日',50)
insertintosaleinfo(salesman,salemonth,achievement)values('C','2月4日',60)
insertintosaleinfo(salesman,salemonth,achievement)values('C','2月7日',70)
insertintosaleinfo(salesman,salemonth,achievement)values('C','3月2日',80)
insertintosaleinfo(salesman,salemonth,achievement)values('C','3月9日',90)
--顯示數據
selectsalesmanas業務員,salemonthas月份,achievementas業績fromsaleinfo
declare@sqlvarchar(8000)
set@sql='selectsalesmanas業務員'
select@sql=@sql+',sum(caseleft(salemonth,2)when'''+left(salemonth,2)+'''thenachievementelse0end)['+left(salemonth,2)+']'
from(selectdistinctleft(salemonth,2)assalemonthfromsaleinfo)asa
set@sql=@sql+',sum(achievement)as業績fromsaleinfogroupbysalesman'
exec(@sql)