❶ sql 銷售佔比
select b.*,b.銷售額/a.總銷售 as 總銷售的百分比 ( select 店名 店名 ,sum(銷售額) as 總銷售 from 銷售明細表 where 1=1 group by 店名) a ,銷售明細表 b where a.店名=b.店名
這個是漢字的,可能會有語法錯誤,但是用這個思想就能搞定你的問題了,
❷ 求一個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 count(*) as 員工總數,sum(case when 性別=男 then 1 else 0 end) 男員工數,sum(case when 性別=男 then 1 else 0 end)/nullif(count(*),0) 男所佔比例,sum(case when 性別=女 then 1 else 0 end) 女員工數,sum(case when 性別=女 then 1 else 0 end) /nullif(count(*),0)女所佔比例
from 員工檔案
你自己試試看吧
樓上的寫的不錯,但是最好注意一些除0問題,要是張空表會報除0錯誤的。
❹ 用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怎麼統計所佔百分比
超過百分之幾對吧?
首先你一定知道一共有多少對吧?假設就是sum個用戶
然後你可以根據積分查出來有多少用戶<500的對吧.假設少與N個
那麼你想要的就是N/sum
❼ SQL實現佔比
sqlserver寫法
創建表
createtabletest
(idint,
namevarchar(1))
insertintotestvalues(1,'a')
insertintotestvalues(2,'a')
insertintotestvalues(1,'a')
insertintotestvalues(1,'a')
insertintotestvalues(2,'a')
執行
selecta.id,a.count1,(a.count1+0.0)/b.count2
from
(selectid,count(*)count1fromtestgroupbyid)a,
(selectcount(*)count2fromtest)b
結果
❽ 求一個sql語句,查詢某個值在數據集中的佔比情況
寫一個sql語句恐怕不行。
應當先寫一段sql語句,計算出links欄位的總和。
然後再寫一段sql語句,以links欄位的每一個值除以links欄位的總和,這樣就能得出links欄位每個值在該欄位總和里的佔比。
這種情況下,就要寫兩端sql語句。
❾ sql 求佔比
select
t1.province,
cast(count(1)*100/(selectcount(1)fromprovince)asvarchar(10))+'%'
from
provincet1
groupby
t1.province
❿ sql 查詢某項比例
那超過50%的用戶最多就只有一個?
selecta.商戶名稱
from
(select商戶名稱,count(*)count1from交易記錄表where交易時間between'2014-01-01'and'2014-01-31'groupby商戶名稱)a,
(selectcount(*)count2from交易記錄表where交易時間between'2014-01-01'and'2014-01-31')b
wherea.count1/b.count2>0.5
時間部分,你自己改寫一下,我就隨便寫了個時間