在由内部联接制成的表上创建百分比列

问题描述

我有两个表 Orders 和 RMA。我写了这个命令来返回两个表之间的内部连接。 OrderID 是 Orders 的主键和 RMA 的外键。

image: hyperledger/cello-Nginx:latest
image: hyperledger/cello-api-engine:latest
image: hyperledger/cello-api-engine:latest
hyperledger/cello-dashboard:latest

此 select 语句返回一个表,其中一列包含 SKU 值,一列包含每个 SKU 值在数据中出现的次数。我的目标是创建第三列,其中包含代表每个 SKU 值出现频率的百分比。

(免责声明:我是 MysqL 的新手,所以如果这个问题需要更多信息,我很乐意提供。谢谢!)

解决方法

您必须将 COUNT(*) 除以 RMA 中的总行数:

SELECT Orders.SKU,COUNT(*) AS Frequency,COUNT(*) / (SELECT COUNT(*) FROM RMA) AS percent
FROM Orders INNER JOIN RMA 
ON Orders.OrderID = RMA.OrderID
GROUP BY Orders.SKU
ORDER BY Frequency DESC;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...