我的 SQL select 语句有问题。我正在尝试使用以下逻辑来获取百分比。
例如,我有两个表。一个是TableA,另一个是TableB
TableA 具有列 ID、A1、A2..,获取 A1 的总非重复计数为“X”。
表 B 具有列 ID、B1、B2、FK_A1。获取 B2 的计数为“Y”。
获取 (Y/X)*100 作为总百分比。
我能够使用子查询来做到这一点,但想使用一个简单而有效的语句。是否可以在一个 select 语句中获得以上 3 种情况?我们将非常感谢您的帮助。
Select
(Select count(distinct A1) from TableA) As C1,
(Select count(B2) from TableB Inner Join TableA ON TableB.FK_A1=TableA.A1)
C2)
最佳答案
尝试这个查询
SELECT ( COUNT(B2) / COUNT(DISTINCT A1) ) * 100 AS TOTAL_PERC FROM TABLEA A INNER JOIN TABLEB B ON TABLEB.FK_A1 = TABLEA.A1;
关于mysql - 如何优化sql select语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667856/