表A:
ID,Name
1 张三
2 李四
3 王五
4 兰六表B:
ID,UID,PID,State
1 1 1 1
2 1 2 1
3 1 3 1
4 1 4 1
5 2 1 1
6 2 2 1
7 2 3 1
8 2 4 0
5 3 1 1
6 3 2 1
7 3 3 0
8 3 4 0
5 4 1 1
6 4 2 0
7 4 3 0
8 4 4 0
请问如何获得以下排序结果
name 比率
兰六 25%
王五 50%
李四 70%
张三 100%百分比来源pid共4个1-4 代表4次选择。 选0的次数/pid的总个数 = 这个百分比。
感谢了~~~~
ID,Name
1 张三
2 李四
3 王五
4 兰六表B:
ID,UID,PID,State
1 1 1 1
2 1 2 1
3 1 3 1
4 1 4 1
5 2 1 1
6 2 2 1
7 2 3 1
8 2 4 0
5 3 1 1
6 3 2 1
7 3 3 0
8 3 4 0
5 4 1 1
6 4 2 0
7 4 3 0
8 4 4 0
请问如何获得以下排序结果
name 比率
兰六 25%
王五 50%
李四 70%
张三 100%百分比来源pid共4个1-4 代表4次选择。 选0的次数/pid的总个数 = 这个百分比。
感谢了~~~~
select a.name,ltrim(sum(1-b.state)*100/count(1))+'%' as 比率
from a
join b on a.id=b.uid
group by a.name
order by sum(1-b.state)*100/count(1)
select a.id,a.name,ltrim(sum(b.state)*100/count(1))+'%' as 比率
from a
join b on a.id=b.uid
group by a.name,a.id
order by sum(b.state)*100/count(1)如此之后, 2次的结果个数不一样, 包含uid后,个数大于 之 group by name的个数。 请问怎么回事呢?