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

sql百分比函數

發布時間: 2022-04-11 03:23:51

Ⅰ 用sql語句如何計算百分比或者統計數據個數

declare @biXiu int,@Zongshu int
select @biXiu=count(*) from course where type='必修'
select @Zongshu=count(*) from course
select cast(@biXiu*100.0/@Zongshu as varchar)+'%'
--其中 @biXiu代表必修個總數

--補充字元串說明
SELECT CAST('123.456' as decimal) 將會得到 123(小數點後面的將會被省略掉)。如果希望得到小數點後面的兩位。則需要把上面的改為SELECT CAST('123.456' as decimal(38, 2))

Ⅱ 用sql語句怎麼計算 百分比 的數值呢 求代碼!

--建立測試表testTable

createtabletestTable(idintidentity(1,1),typenvarchar(8))

go

--循環插入測試語句

declare@aint

set@a=0

while(@a<100)

begin

if@a<80

insertintotestTable(type)values('會員')

else

insertintotestTable(type)values('vip')

set@a=@a+1

end

go

--查看插入表中的所有數據

select*fromtestTable

--查看你要看的的數據

selectb.sumb%a.suma'會員占總人數的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='會員')b

selectb.sumb%a.suma'vip占總人數的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='vip')b

selectb.sumb%a.suma'會員占總人數的百分比(%)',c.sumc%a.suma'vip占總人數的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='會員')b,

(selectCOUNT(*)sumcfromtestTablewheretype='vip')c

--查看完刪除測試表testTable

droptabletestTable

結果我已經看過了,如下圖:

Ⅲ sql中如何計算百分比 並保留兩位小數

select convert(decimal(18,2),除數*1.0/被除數)*100 as 百分比 from 表名
decimal(18,2)表示取兩位小數

Ⅳ SQL語句小數變成百分數

select convert(numeric(8,2) ,

cast( (select convert(Numeric(8,2),( select COUNT(*) from 表 where 列1=1229)) /

(select count(列1) from 表))) * 100 as varchar(10) ) + '%'

註:*100 as varchar(10))+'%' (10) 變成長度是10的字元串,然後再加上%號,如果不用加%,就不用cast,直接 * 100 就可以了。

(4)sql百分比函數擴展閱讀:

注意事項

一、concat函數

該函數用於字串的拼接,比如我們想把10變成10%,就可以寫成:

select concat(10,'%');

二、FLOOR(X)

將小數的小數部分去除,只留下整數部分,並且不進行四捨五入。

select FLOOR(5.5);

運行結果為:5

ROUND(X,D)函數和TRANCATE(X,D)函數

兩個函數都可以用來對小數保留指定小數位數,其中第二個參數D用來指定要保留到第幾位。差別是前者會進行四捨五入,而後者不會。

select ROUND(5.55,1);

select TRANCATE(5.55,1);

二者的運行結果分別為:5.6、5.5。

Ⅳ 用SQL求百分比,同一列數據

select name,str((case (select isnull(sum(cost),0) from table1) when 0 then 0 else cost/(select isnull(sum(cost),0) from table1) end)*100,10,2)+'%' as bfb from table1

以上sql語句較長,解釋一下:
使用case...when...end,是為了避免合計cost為0的話,出現無法除0的錯誤;結果值乘以100是為了配合百分比格式;使用str(...,10,2)函數是把計算出來的數字值轉換成兩位小數精度的文本串;最後,在結果後加上一個百分號,效果就完整了。

以上語句在sqlserver資料庫中測試通過。

Ⅵ SQL怎麼統計百分比

declare @biXiu int,@Zongshu int
select @biXiu=count(*) from course where type='必修'
select @Zongshu=count(*) from course
select cast(@biXiu*100.0/@Zongshu as varchar)+'%'
--其中 @biXiu代表必修個總數

--補充字元串說明
SELECT CAST('123.456' as decimal) 將會得到 123(小數點後面的將會被省略掉)。如果希望得到小數點後面的兩位。則需要把上面的改為SELECT CAST('123.456' as decimal(38, 2))
這樣可以么?

Ⅶ 使用sql語句計算百分比

  • 1、若針對每行求百分比: select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名 。

  • 2、若是對總計後的值求百分比: select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名

  • 3、當然,以上都是以小數形式顯示結果,若要以百分比形式顯示結果:乘以100,並保留兩位小數,然後加上「%」即可。
    如:round((SA/TotelTime)*100,2) & "%"

Ⅷ sql查詢結果如何以百分比形式輸出

以百分比形式輸出sql查詢結果的步驟如下:要准備的材料是:computer,sql querier。

1.首先,打開sql查詢器並連接到需要查詢的數據表。以測試表的得分欄位為例。

Ⅸ 怎麼寫求佔百分比的sql 語句,內祥

此sql語句包括了兩個聚合函數做除法求百分比,並保留兩位小數,直接輸出字元串形式的百分比。以及對case
when在聚合函數的應用。

Ⅹ 怎麼用SQL語句求百分比

有點不明白
1、若針對每行求百分比:
select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名
2、若是對總計後的值求百分比:
select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名
3、當然,以上都是以小數形式顯示結果,若要以百分比形式顯示結果:乘以100,並保留兩位小數,然後加上「%」即可。