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

sql計算百分比函數

發布時間: 2023-05-30 09:12:59

sql求百分比的問題

這是什麼資料庫呀?俺沒有見過(糗). 最後一列能不能直接使用字元串'100.00%' 呢?
希望下邊的sql能幫助到你

SELECT T1.供應商,T1.貨物,T1.數量,T2.總數量,ROUND(T1.數量*100/T2.總數量,2)||'%' 比例, '100.00%',T2.總數量/T2.總數量 FROM (
(SELECT 供應商,貨物,數量 FROM T_TABLE) T1
LEFT JOIN
(SELECT 貨物,count(數量) 總數量 FROM T_TABLE GROUP 貨物 ) T2
ON T1.貨物=T2.貨物

)

⑵ 用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 里怎麼統計欄位的完善百分比

我覺得用存儲過程比較好,
假設禪肢A為主鍵
create proc pname @pri int --@pri這個參數是表的主鍵
--類型與表的主鍵類型一致
as
select * into temp from table_name where A=@pri
declare @count int
set @count=1
select @count=@count+1 from temp where B is not null
select @count=@count+1 from temp where C is not null
... ...
print '完成百分比為:'+
left(convert(varchar(10),round(@line/3.0*100,1)),4)+'%'
drop table temp --如果不把臨時表刪除,在再次執行該存儲過程的時候會報錯
go

說明一下:
set @count=1,是把主鍵算上,因為主鍵不能空。
也就是說爛襲毀,表中有幾列不能為空,@count 的初使值就為幾。
print中的飢備幾個函數:
left(),有兩個參數:從第一個參數中取第二個參數個字元,也就是說第一個參數為字元型,第二個為整數。
convert()是將數轉換為字元型數據
round()有兩個參數,取近似值,第二個參數為小數點的位數,第一個參數為要求的數。

效率問題我是想不出好的了。我覺得這樣也挺快的。

⑷ 怎麼用sql算出兩個表中數量的百分比

with t1 as (select count(*) f from a), t2 as (select count(*) f from b)
select (select f*1. from a)/((select f from a)+(select f from b))

⑸ 用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怎麼把小數轉換為百分比

舉例說明。例如有數據表如圖:

注: 本例是採用excel 2007版本做的。

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

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

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

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

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

⑼ 求一條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 怎麼用一個語句求出同一列的某一個欄位在整個列的百分比

可考慮使用窗口函數,計算各行某欄位數值占整列的百分比:

selectratio_to_report(sal)over()fromemp;

網路你妹,我不修改了,最好把我回答刪掉。

以上。

熱點內容
我的世界伺服器咋開外掛 發布:2024-03-29 01:07:45 瀏覽:455
sql寫報表 發布:2024-03-29 01:03:23 瀏覽:305
家用伺服器怎麼選 發布:2024-03-29 00:49:18 瀏覽:401
Ap6510dn如何配置 發布:2024-03-29 00:38:47 瀏覽:332
安卓和蘋果哪個更佔用內存 發布:2024-03-29 00:37:02 瀏覽:423
編譯錯誤算bug嗎 發布:2024-03-29 00:23:03 瀏覽:34
c語言干什麼 發布:2024-03-29 00:05:35 瀏覽:314
香港中轉伺服器搭建 發布:2024-03-29 00:05:16 瀏覽:673
安卓手機怎麼在桌面上顯示鍾表 發布:2024-03-28 23:48:22 瀏覽:5
分析代碼能編譯嗎 發布:2024-03-28 23:48:16 瀏覽:767