Mysql 对组功能有问题

Mysql 对组功能有问题,mysql,sql,Mysql,Sql,上述“百分比”已按计数/总计数*100计算。我有下面的代码来实现这个 User Product count Percentage User1 Product1 21 38.1818 User1 Product2 34 61.8182 但是55号已经硬编码了。我不希望这是硬编码。因此,我怎样才能做到这一点。我尽了最大的努力,但还是成功了 在MySQL中,您将使用一个join/correlated子查询: select

上述“百分比”已按计数/总计数*100计算。我有下面的代码来实现这个

User     Product     count    Percentage 
User1    Product1     21        38.1818
User1    Product2     34        61.8182

但是55号已经硬编码了。我不希望这是硬编码。因此,我怎样才能做到这一点。我尽了最大的努力,但还是成功了

在MySQL中,您将使用一个
join
/correlated子查询:

select user, product, count(id) as count, count(id)/55*100 from table1 where  
user=user1 group by product. 
在MySQL 8.0+中,您只需使用一个窗口函数:

select user, product, count(id) as count,
       count(id) / (select count(*) from table1 tt1 where tt1.user = t1.user)
from table1 t1
where t1.user = user1
group by user, product;

在MySQL中,您将使用一个
连接
/相关子查询:

select user, product, count(id) as count, count(id)/55*100 from table1 where  
user=user1 group by product. 
在MySQL 8.0+中,您只需使用一个窗口函数:

select user, product, count(id) as count,
       count(id) / (select count(*) from table1 tt1 where tt1.user = t1.user)
from table1 t1
where t1.user = user1
group by user, product;