當前位置:首頁 » 編程語言 » Sql匯總後寫回原表
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

Sql匯總後寫回原表

發布時間: 2022-09-19 21:08:10

1. sql多表格式相同匯總到一張表的語句

select A.id,A.name,sum(A.成績)
from
(select * from 語文成績表
union all
select * from 數學成績表
union all
select * from 物理成績表
) A
group by A.學號,A.姓名

UNION ALL的用途是將幾個成績表合並成為一個表A。然後按照A表的學號和姓名欄位進行分組合計。

有不明白的再問我

2. sql匯總的數據如何更新到另一個表單

UpdateTable2SetSum1=(SelectSum(b)FromTable1)Whereid=123

大概是這個樣子

3. 如何通過SQL語句從資料庫讀取數據,在把讀到的數據寫入另一個新建表中去刪除原來表

1)首先針對每天執行的問題,各個操作系統都有計劃任務(如linux和unix都可以通過crontab實現。windows就是計劃任務啦),可以通過這個實現每天執行的目的。
2)每天執行的東西就是寫好存儲過程,存儲過程內容如下:
* 如果表記錄數不多可以採用如下方法
insert into 新表 select * from 原表;
delete from 原表;
*如果記錄過多,可以採用如下方法
先採用不寫日誌的方式插入記錄(如oracle採用insert append方式,sqlserver採用select into的方式),然後用truncate table 原表的方式加快執行速度,提高運行效率。

4. SQL怎麼將查詢排序後的數據更新到原本的表中

簡單回答:不能,也不應該。
要依某個順序查詢,請加入明確的排序指令,否則系統就會依系統認為最方便高效的方式給你列出數據。

相關說明:
1、當前主流的使用SQL操作的數據數主要是Oracle、MS Sql Server等等。它們有一個共同的做法,就是用戶不應對表中的物理記錄的順序進行關心。如果用戶需要對查詢出的記錄進行排序的話,請加入排序指令,這樣就能按用戶的「心意」進行排序列出了。
2、之所以用戶不應對表中的特理記錄的順序進行關心,那是因為通常情況下,一個表中的數據是會經常被更改、修正、刪增的,如果每一次的改動都要將整個表的物理順序進行修正的話,系統的運行效率就會嚴重低下。
3、如果你實在糾結,實在要在明確的排序指令的情況下查出的數據也按你的想法的順序出來的話,一般來說,小的數據表你可以將原來的數據刪除,然後重新追回進去。具體的做法類似於先SELECT,加order排序指令插入到臨時表,然後刪除原來表中的數據,然後insert臨時表中的數據到原表中。注意的是,這種方法對數據量不大的表,多數情況下有效,但對大量數據的表,很可能無效,因為系統為了效率,會按它的「想法」去讀寫數據。

5. sql 如和循環插入,我查詢出一組數據,修改後如何快速插回原表

如下:

inset into oa_user_prop (prop_id,role_id,user_id,user_realname)

select SEQ_MAXID_OA_USER_PROP.nextval,1825,user_id,user_realname

oa_user_prop where role_id=1816

6. sql 匯總寫入

update
a
set
a.工資數=b.總工資
from
第一個表a
innerjoin(select工人編號,sum(錢數)總工資from第二個表groupby工人編號)bona.編號=b.工人編號

7. sql如何把分類匯總結果導入其他表中

insert into 匯總表(欄位列表)
select 分組欄位,匯總值
from 原表
group by 分組欄位;

8. SQL資料庫中對數據進行匯總統計後的數據進行新的匯總查詢語句怎麼寫

一看IMSI就知道是搞網優的苦/逼


1.我用oracle寫的,語法大致差不多,試試吧。

2.IMSI我記得好像是字元型的,但是連接時長那個我不記得是什麼類型了,我當成字元型來寫的。

3.你中間說對IMSI進行統計,並對連接時長求和,後面又說對IMSI出現數量計數,並對IMSI時長繼續匯總??


我的理解你是要統計有哪些IMSI,然後這些IMSI分別出現了多少次,連接時長總和多少,是這樣嗎?把之前的SQL稍微改了下。


連接時長我用connect_time代替了,假設連接時長類型是字元型的,我直接轉成to_number,如果你倒出來的表裡面連接時長是時間類型的話,把sum()裡面的內容換成to_number(to_char(connect_time))


selectIMSI,count(IMSI),sum(to_number(connect_time))fromtable_a

groupbyIMSI

havingcount(IMSI)between1and10


9. 我有一個sql資料庫,想要使用sql語句,將兩個表,A表余額列減去B表的余額列,寫回A表,這個sql語句怎麼寫

update A set a.jine =(select a.jine-b.jine from b ) where a.kahao = b.kahao