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

sql分組求佔比最優寫法

發布時間: 2023-01-03 07:09:49

1. sql分組統計求百分比

SELECT

,CONVERT(DECIMAL(15,3),SUM(CASE 及格WHEN 'Y' THEN 1 ELSE 0 END))/COUNT(1)*100
FROM

GROUP BY

-------------輸出結果-------------
A 100.00000000000000
B 33.33333333333300
C 50.00000000000000

2. SQL SEVER如何分類匯總後再求每一項所佔的百分比

SELECT國家,sum(出口量)as出口數量,SUM(出口量)*100.0/(selectSUM(出口量)fromseamlesswhere年份=2015)as佔比
FROMseamlesswhere年份=2015
groupby國家
orderby出口數量desc

3. 求一個sql語句,查詢某個值在數據集中的佔比情況

寫一個sql語句恐怕不行。

應當先寫一段sql語句,計算出links欄位的總和。
然後再寫一段sql語句,以links欄位的每一個值除以links欄位的總和,這樣就能得出links欄位每個值在該欄位總和里的佔比。
這種情況下,就要寫兩端sql語句。

4. sql 求佔比

select

t1.province,

cast(count(1)*100/(selectcount(1)fromprovince)asvarchar(10))+'%'

from

provincet1

groupby

t1.province

5. sql語言 怎麼求每組最大,就是用group by 分組後,求每組某列最大

在分組中使用max()函數即可。

例圖中表格:

如果是最小,則可以使用 min()函數

6. SQL 兩次分組求百分比

select order_type,is_olser,sum(counts)/c2 from order_today
lett join (select order_type ot,sum(counts) c2 from group by order_today) ot2 on ot2.ot=order_today.order_type
group by order_type,is_olser,c2

7. sql語句 求比例

你這個表示通過SQL語句得來的還是表本來就是這樣的???
佔比的公式就是Y艙/總數 C艙/總數 F艙/總數

如果是通過SQL語句的得來的把SQL語句貼出來!!
如果不是表本來就是這樣的結構的話,建議你建個視圖就行了
下面是SQL語句的查詢部分
select 日期 , Y艙 ,Y艙/總數 as Y艙佔比 , C艙 ,C艙/總數 as C艙佔比 , F艙 , F艙/總數 as F艙佔比 , 總數
from 表名

就行了

8. sql 按百分比分組

你可以用類似如下的寫法來實現

select Validation_rate,count(name) as name from

(select
case when Validation_rate between 0.01 and 0.1 then '1% - 10%'
when Validation_rate between 0.11 and 0.2 then '11% - 20%'
...
when Validation_rate between 0.91 and 1 then '91% - 100%'

end as Validation_rate ,name)
from Doctor_territory ) as T

group by Validation_rate
order by Validation_rate

9. 用SQL查詢佔比

sqlserver寫法
創建表
create table test
(id int,
name varchar(1))
insert into test values (1,'a')
insert into test values (2,'a')
insert into test values (1,'a')
insert into test values (1,'a')
insert into test values (2,'a')
執行
select a.id,a.count1,(a.count1+0.0)/b.count2
from
(select id,count(*) count1 from test group by id) a,
(select count(*) count2 from test) b

10. 求一個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