如何从表中获取行数并插入MySQL中的同一个表中?

时间:2015-07-28 04:20:49

标签: php mysql

我有一个问题,我想编写一个MySql查询来实现以下结果:

Id | C1 | C2 | Score | Q | CCount | RF |  
1    | A  | B  | 0.25 | 40 |   4   |      
2    | A  | B  | 0.60 | 40 |   4   |      
3    | A  | C  | 0.10 | 20 |   2   |      
4    | A  | B  | 0.90 | 40 |   4   |      
5    | A  | C  | 0.30 | 20 |   2   |      
6    | A  | B  | 0.70 | 40 |   4   |      

CCount列是每个组合的总行数,即AB,AC等。 在表格中,上述AB的总计数为4行,而AC的总计数为2行。

  1. 我应该使用2张桌子吗?主表和计数表然后,使用group by等将计数结果插回到主表中。如果是这样,我将如何处理它?<​​/ p>

  2. 还有另一种方法可以解决我的问题吗?

  3. 以下部分,我可以这样做:

    我这样做是因为我想计算每一行的RF(相对频率)。

    RF = Score * Q/CCount

1 个答案:

答案 0 :(得分:0)

我很确定你做错了(因为我看不到整个问题)。

现在刚刚测试过,您可以在查询中执行此操作。

select count(CONCAT(C1,C2)) as count, CONCAT(C1,C2) as name from data group by C1,C2

输出

count combo
4   AB
2   AC

从这里你应该可以得到RF,因为我得到了总数 为简单起见,您现在可以执行第二个查询,遍历行并计算分数。

你可以做一个子查询。但这变得非常棘手。

约翰。