2010-08-19 52 views
7

我试图从2个表获得2个计数和制定出像一个MySQL数据库简单的SQL查询,与结果相结合,分化

1)选择field_one,COUNT(*)从表1组COUNT_ONE百分比通过field_one; 2)选择other_field,count_(*)作为COUNT_TWO从table2组中by other_field;

我想结合结果并为FINAL_COUNT =(COUNT_ONE/COUNT_TWO)* 100表示​​百分比吗?

+0

如何在表连接?通过field_one = other_field? – 2010-08-19 12:56:01

+0

不加入,两个单独的表 – piet 2010-08-19 12:56:25

+0

field_one和other_field在两个表中有相同的值吗? – 2010-08-19 12:57:11

回答

12

快速和肮脏的:

select (a.count_one/b.count_two) * 100 as final_count from 
(select field_one, count(*) as count_one from table1 group by field_one) a, 
(select field_two, count(*) as count_two from table2 group by field_two) b 
where a.field_one = b.field_two 
+0

!真棒作品:D谢谢 – piet 2010-08-19 13:06:19

5
select sum(((QUERY FROM TABLE 1)/(QUERY FROM TABLE 2)) * 100) as percentage 
+2

这很好吃!但仅供参考:在代码中不需要'sum()',这足够:'select(((QUERY FROM TABLE 1)/(QUERY FROM TABLE 2)* 100)以百分比形式 – 2013-04-10 12:58:39

+0

Marco您是对的。这个解决方案甚至更好,因为写得更快:)。 – rom 2014-12-01 17:03:57