當前位置:首頁 » 編程語言 » sql統計百分比

sql統計百分比

發布時間: 2024-03-29 18:47:14

⑴ 求一條sql計算百分比的語句,謝謝好心人! 就是讓每個牌子的數量除以所有手機的總和

這樣寫看看,能行的,我測試過的:
結果納好遲為:
OPPO 60 66.67%
諾基亞 10 11.11%
三星 20 22.22%

SELECT A.手機品牌,A.數量,CONVERT(VARCHAR(8),CONVERT(DECIMAL(8,2),A.數量*1.0/B.SUM_數量*100))+'%'
FROM
(SELECT 手機襪亂品牌,SUM(數量) AS 數量 FROM BAIDU_224 GROUP BY 手機品牌) AS A,
(SELECT SUM(數量洞李) AS SUM_數量 FROM BAIDU_224) AS B

⑵ 用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語句求百分比

有點不明白
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,並保留兩位小數,然後加上「%」即可。

⑷ 求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求百分比,同一列數據

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資料庫中測試通過。

熱點內容
pythontkinter大小 發布:2024-04-27 14:51:22 瀏覽:114
pc端好用的c語言編譯器 發布:2024-04-27 14:50:22 瀏覽:502
爬蟲腳本如何運行在伺服器 發布:2024-04-27 14:50:22 瀏覽:1
dropzone上傳 發布:2024-04-27 14:39:31 瀏覽:880
ins安卓版快拍為什麼沒有特效 發布:2024-04-27 14:33:41 瀏覽:592
cs伺服器ip在哪裡 發布:2024-04-27 14:25:58 瀏覽:37
華為安卓怎麼上臉書 發布:2024-04-27 14:24:20 瀏覽:841
我的世界手機版伺服器冷知識 發布:2024-04-27 14:11:10 瀏覽:790
文件橫向加密 發布:2024-04-27 14:06:38 瀏覽:497
python列表推導 發布:2024-04-27 14:01:46 瀏覽:357