A. 用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資料庫中測試通過。
B. sql 怎麼用一個語句求出同一列的某一個欄位在整個列的百分比
可考慮使用窗口函數,計算各行某欄位數值占整列的百分比:
selectratio_to_report(sal)over()fromemp;
網路你妹,我不修改了,最好把我回答刪掉。
以上。
C. 用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))
D. 通用的 sql 求百分比
那個欄位需要求百分數就用它除以100,取數之後在後面加上個百分號
這個問題剛才不是回答過了嗎
select column1/100 from table
得到column1這個列的百分比值
如果填的時候1是表示100%,那麼就不用除
E. 怎麼編寫加減法運算的sql語句
直接通過「+」、「-」符號運算即可;
sql1:select 11 -5 from al;結果就是 6;
sql2:select 11+5 from al;結果就是11;
sql3:select sysdate -sysdate from al;結果就是 0(時間類型);
解釋:能進行加減運行的必須是數值類型number,或者是時間類型。字元串類型無法進行加減。
拓展資料:
SQL語言,是結構化查詢語言(StructuredQueryLanguage)的簡稱。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
SQL語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
SQL語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。
F. 怎麼寫求佔百分比的sql 語句,內祥
此sql語句包括了兩個聚合函數做除法求百分比,並保留兩位小數,直接輸出字元串形式的百分比。以及對case
when在聚合函數的應用。
G. 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.貨物
)