『壹』 sqlSERVER 如何在union all多表查詢出結果後再分類匯總
提供一下參考實現:
select wo3狀態,sum(wo3售價) 小計
from (
) as a
group by wo3狀態
『貳』 在sqlserver 里實現類似sumif 的功能
select
[name]
,sum([value])as合計
from
b
groupby
[name]
『叄』 如何在sql語句里計算前22行的合計值
select sum(消費記錄) from (select top 22 消費記錄 from table) a
測試成功,給分吧
『肆』 sql如何列統計求和
有個思路緩源:
1、在系統表中找出表名對應的列名,並把每個列名都加上SUM()
select 'sum('+name+'),' from syscolumns
where id=(select id from sysobjects where name='表名')
2、物裂把查詢結果復制出來,前面加select 後面加 from 表名。。。擾螞態。你懂的
注意:復制出來後把最後一個逗號去掉。
3、執行查詢
也可以寫個存儲過程來完成。
『伍』 SQLserver 聯合查詢排序問題
不知道你原來的sql語句啥樣子啊。。。
SELECT
ISNULL(sale_item, '總計') AS item,
CASE
WHEN GROUPING(sale_item) = 1
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '總計'
WHEN GROUPING(sale_item) = 0
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '小計'
ELSE
STR(DATEPART(qq, sale_date))
END AS sale_q,
SUM(sale_money) [money]
FROM
sale_report
GROUP BY
sale_item, STR(DATEPART(qq, sale_date)) WITH ROLLUP;
item sale_q money
---- ---------- ----------------------------------------
A 1 180810.00
A 2 182819.00
A 3 184828.00
A 4 184828.00
A 小計 733285.00
B 1 180.00
B 2 455.00
B 3 735.00
B 4 1012.00
B 小計 2382.00
C 1 1398.00
C 2 1426.00
C 3 1457.00
C 4 1457.00
C 小計 5738.00
T 3 100.00
T 小計 100.00
總 總計 741505.00
(18 行受影響)
<hr/>
如果希望 總計、小計顯示在上面, 那麼 ORDER BY 設置一下.
SELECT
ISNULL(sale_item, '總計') AS item,
CASE
WHEN GROUPING(sale_item) = 1
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '總計'
WHEN GROUPING(sale_item) = 0
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '小計'
ELSE
STR(DATEPART(qq, sale_date))
END AS sale_q,
SUM(sale_money) [money]
FROM
sale_report
GROUP BY
sale_item, STR(DATEPART(qq, sale_date)) WITH ROLLUP
ORDER BY
GROUPING(sale_item) desc, item,
GROUPING(STR(DATEPART(qq, sale_date))) desc
item sale_q money
---- ---------- ----------------------------------------
總 總計 741505.00
A 小計 733285.00
A 1 180810.00
A 2 182819.00
A 3 184828.00
A 4 184828.00
B 小計 2382.00
B 1 180.00
B 2 455.00
B 3 735.00
B 4 1012.00
C 小計 5738.00
C 1 1398.00
C 2 1426.00
C 3 1457.00
C 4 1457.00
T 小計 100.00
T 3 100.00
(18 行受影響)
『陸』 sql語句統計數量 統計一個欄位出現的數量
1、創建測試表,
create table test_stu(id number, u_name varchar2(20), subject varchar2(20));
create table test_subj(id number, subject varchar2(20));
『柒』 關於sqlserver分組求和的問題
這個問題主要是分組
我模擬了第一層你要分組的數據
分組sql
select substr(code,1,7), sum(a),sum(b),sum(c),sum(d) from test1 group by substr(code,1,7)
結果:
code sum(a) sum(b)sum(c) sum(d)
1 1010101 16 20 24 28
2 1010104 100 140 180 220
接下來通過結果集更新code 所在的記錄
下面的過程就是重復的根據substr(code,起始位置,後移多少位) 來進行分組求和
更新。。
希望能幫到你
『捌』 sql語句求和
SQL中求和語句分為縱向匯總和橫向匯總語句;
假設數據列為:A、B、C、D、E、F、G
縱向匯總語句:
selectsum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G)from表名
橫向匯總的SQL語句是:
selectA,B,C,D,E,F,G,A+B+C+D+E+F+Gfrom表名
求所有數據總和的SQL語句是:
selectsum(A)+sum(B)+sum(C)+sum(D)+sum(E)+sum(F)+sum(G)from表名
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
(8)sqlserver小計合計擴展閱讀:
sql參考語句
刪除新表
drop table tabname
增加一個列
Alter table tabname add column col type
添加主鍵
Alter table tabname add primary key(col)
刪除主鍵
Alter table tabname drop primary key(col)
創建索引
create [unique] index idxname on tabname(col….)
『玖』 sqlserver 利用sum求和時,sum時相同的id值加一次
你這個需求很不明確
如果只是按id來匯總,直接group by id就可以
如果想跳開相同AID,可以用distinct關鍵字跳開就行