我有两张table
| 个人ID|
| --|
| 1 |
| 2 |
| 3 |
| 项目ID|个人ID|项目有效|
| --|--|--|
| 2 | 1 | 1 |
| 1 | 1 |null|
| 3 | 2 | 1 |
| 4 | 3 |null|
我希望得到一个人拥有的有效项目/项目总数的百分比。
例如,在这种情况下,我想
| 个人ID|百分比|
| --|--|
| 1 |百分之五十|
| 2 |百分百|
| 3 |0%的百分比|
我如何用一个带有子查询的select语句来实现这一点?
2条答案
按热度按时间nxowjjhe1#
也许你甚至不需要第一个表;如果在第二个表中有没有任何行的人(所以你会外部连接这两个表),或者如果你想显示一些额外的数据(名字,...),你可能需要它。
只有第二个表,就不需要子查询了--所有的事情都可以在一个select语句中完成。
样本数据:
字符串
查询:条件聚合(
sum
函数)计算有效项目数;然后除以每人的总行数。型
2w2cym1i2#
您可以在应用百分比之前有条件地计数,例如
字符串
假定 * 无效 * 标记为null或zero
Demo