sql 查询某项比例

例如某交易记录表中 有字段 商户名称、交易金额、交易时间 ,现在想查询出来 在某时间段内交易的次数占总交易数的50%的商户 查询语句要如何写?
2026年09月27日 23:23
有2个网友回答
网友(1):

那超过50%的用户最多就只有一个?

select a.商户名称
from
(select 商户名称,count(*) count1 from 交易记录表 where 交易时间 between '2014-01-01' and '2014-01-31'  group by 商户名称) a,
(select count(*) count2 from 交易记录表 where 交易时间 between '2014-01-01' and '2014-01-31' ) b
where a.count1/b.count2 >0.5

时间部分,你自己改写一下,我就随便写了个时间

网友(2):

SELECT * FROM
(

SELECT COUNT(商户名称 ) AS 次数 FROM 交易记录表 GROUP BY 商户名称

) WHERE 次数> ( SELECT COUNT(*) FROM 交易记录表 ) / 2