統計資料方面的Transact SQL查詢語句

2021-04-16 04:35:08 字數 3186 閱讀 9685

4

如何刪除表中的重複資料,用

transact-sql

寫出**。

select

distinct

*into #tmp from t2

drop

table t2

select

*into t2 from #tmp

drop

table #tmp 6

人員情況表(

employee

)t3中欄位包括,員工號(

id),姓名(

name

),年齡(

age),文化程度(

wh):包括四種情況(本科以上,大專,高中,初中以下)

,現在我要根據年齡字段查詢統計出:表中文化程度為本科以上,大專,高中,初中以下,各有多少人,佔總人數多少。結果如下: 學歷

年齡人數

百分比

本科以上

20        34          14.45 大專

20        33           13.69 高中

20        33           13.57

初中以下

20        100        40.95

本科以上

21        50          20.11

。。。。。。

transact-sql

查詢語句如何寫?

---方法一:

一句sql即可

----

生成的%

為整數;

----

前兩個count(*)是group by分組後,各組的記錄數;而第三個count(*)為表t3在group by前表中所有的記錄數。

select

edu,age,

count

(*)as'人數

',count

(*)*

100/(select

count

(*)from t3

)

as'%'

from

t3

group

by edu,age

order

by age

---方法二:寫乙個儲存過程

create

proc see

asdeclare

@ren int

select

@ren=

count

(*)from t3

--select edu,age,count(*) as '

人數',cast(count(*) as float(2)) *100/cast(@ren as float(2)) as '%'             ----

注:生成的

%小數字數不確定.

select

edu,age,

count

(*)as

' 人數',

convert

(decimal

(5,2),(

cast

(count

(*)as

float

(2))

*100/

cast

(@ren as

float

(2))),0)as

'%'   ----

生成的%小數字為兩位.

from

t3

group

by edu,age

order

by age

exec

see 7

表一(t1)商品名稱

t1id  

商品總量

t1num

a                 100

b                 120

a                 10

b                 20

表二(t2)商品名稱

t2id  

出庫數量t2num

a                      10

a                      20

b                      10

b                      20

b                      30

用一條transact-sql

語句算出商品

a,b目前還剩多少?

---方法一:

一句sql即可

select

t1id as

產品id,(t1num-t2num)

as 庫存量

from

(select t1id,

sum(t1num)

as t1num from t1 group

by t1id) t1, (

select t2id,

sum(t2num)

as t2num from t2 group

by t2id) t2

where

t1.t1id=t2.t2id

---方法二:寫乙個儲存過程

create

proc seekucun

asselect

t1id,

sum(t1num)

as t1num

into

#t1

from

t1

group

by t1id

select

t2id,

sum(t2num)

as t2num

into

#t2

from

t2

group

by t2id

select

t1id as

產品id,(t1num-t2num)

as 庫存量

from

#t1 inner

join #t2

on#t1.t1id=#t2.t2id

order

by(t1num-t2num)

desc

exec

seekucun

分組統計資料

with a as select convert varchar 10 starttime,120 starttime,case when organid like 0226 then else 非 end as deptname,sum case when billableseconds 0 th...

oracle查詢統計資料

oracle 按每天,每週,每月,每季度,每年查詢統計資料 按天統計 select count dataid as 每天運算元量,sum from tablename group by trunc createtime,dd 按自然周統計 select to char date,iw sum fro...

oracle範圍統計資料

需求 充值總筆數 筆數 單筆0 200元 筆數 單筆201 300元 筆數 單筆301 500元 筆數 單筆501元及以上 參照範例 需求 統計wait order表中的工單總數 未處理工單總數 已完成工單總數 未完成工單總數。表結構 為了舉例子方便,wait order表只有兩個字段,分別是id ...