❶ 求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 怎麼用一個語句求出同一列的某一個欄位在整個列的百分比
可考慮使用窗口函數,計算各行某欄位數值占整列的百分比:
selectratio_to_report(sal)over()fromemp;
網路你妹,我不修改了,最好把我回答刪掉。
以上。
❸ 求一個SQL百分佔比的寫法
你沒試嗎?這就是所有占總銷量80%的所有客戶,您糊塗了嗎?即然您只要了80%的客戶,都是一個百分數,還有什麼多少?還排什麼序?
不過,看在分的面子上,後面我又給了您占總銷量80%以上的所有客戶按銷量反排序的查詢。
MSSQL:
select
A,
SUM(B) AS 銷售額合計,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占總百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)=80
select
A,
SUM(B) AS 銷售額合計,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占總百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)=80
占總銷量80%以上的所有客戶按銷量排序。
select
A,
SUM(B) AS 銷售額合計,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占總百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)>=80
order by SUM(B) desc
❹ sql 求佔比
select
t1.province,
cast(count(1)*100/(selectcount(1)fromprovince)asvarchar(10))+'%'
from
provincet1
groupby
t1.province
❺ 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語句求兩列中各行數字所佔整列中的百分比問題,並輸出所屬等級,急 最好有截圖,先謝過各位大神啦
CREATE TABLE #temp (
[2010年] NUMERIC(5, 2),
[2005年] NUMERIC(5, 2),
[所屬等級] VARCHAR(10)
);
INSERT INTO #temp
SELECT 7.11 , 4.10 , '高速' UNION ALL
SELECT 6.11 , 1.17 , '一級' UNION ALL
SELECT 30.87, 24.82, '二級';
WITH cteSum
AS (
SELECT
SUM([2010年]) AS [2010年],
SUM([2005年]) AS [2005年]
FROM
#temp
)
SELECT
#temp.[2010年],
STR(ROUND( 100 * #temp.[2010年] / cteSum.[2010年], 2),5,2) AS [2010百分比],
#temp.[2005年],
STR(ROUND( 100 * #temp.[2005年] / cteSum.[2005年], 2),5,2) AS [2005百分比],
#temp.[所屬等級]
FROM
#temp, cteSum
2010年 2010百分比 2005年 2005百分比 所屬等級
---------------- ------- ----------- ------- ----------
7.11 16.13 4.10 13.63 高速
6.11 13.86 1.17 3.89 一級
30.87 70.02 24.82 82.49 二級
(3 行受影響)
❼ 求一個sql語句,查詢某個值在數據集中的佔比情況
寫一個sql語句恐怕不行。
應當先寫一段sql語句,計算出links欄位的總和。
然後再寫一段sql語句,以links欄位的每一個值除以links欄位的總和,這樣就能得出links欄位每個值在該欄位總和里的佔比。
這種情況下,就要寫兩端sql語句。
❽ 用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某列佔比查詢,只要兩行,一行為指定值的行數,第二行為剩餘值的行數
試試這個行不行:
select count(*) from 表名 where 列名=指定值 union all
select count(*) from 表名 where 列名<>指定值
❿ sql 怎麼求比例
declare @sumNum decimal(9,2)
set @sumNum=select sum([銷售額]) from [產品銷售表]
select [產品],sum([銷售額]) as [銷售額] ,sum([銷售額])/@sumNum as [佔比] from [產品銷售表]
group by [產品]