问题描述
我有两个表 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;