當前位置:首頁 » 編程語言 » sql佔比
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql佔比

發布時間: 2022-01-12 09:23:52

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

時間部分,你自己改寫一下,我就隨便寫了個時間