我试图将我在我的数据库中的数据压缩成行,并将它们的分数记录下来以查看最流行的数据。MySql Tally系统与php
如果我有过一个数据表:
`data`
item1 item2
1
1 2
1 3
1 3
2 3
,并希望浓缩版本是:
`data_sum`
item1 item2 Tally
1 2 2
1 3 3
2 3 1
我将如何实现这一目标?我在这里有一些想法:
$popdata = mysql_query("SELECT * FROM data");
while($add = @mysql_fetch_array($popdata)){
$qitem1 = "SELECT * FROM data_sum WHERE item1='".$add['item1']."'";
$ritem1 = mysql_query($qitem1);
if(mysql_num_rows($ritem1) > 0){
$qitem2 = "SELECT * FROM data_sum WHERE item2='".$add['item2']."'";
$ritem2 = mysql_query($qitem2);
if (mysql_num_rows($ritem2) > 0){
$sql = "UPDATE Tally=Tally + 1 WHERE item1='".$add['item1']."' AND item2='".$add['item2']."'";
$update = mysql_query($sql);
}
else{
$sql = "INSERT INTO data_sum (item1, item2) VALUES('$item1', '$item2')";
$insert = mysql_query($sql);
}
else{
$sql = "INSERT INTO data_sum (item1, item2) VALUES('$item1', '$item2')";
$insert = mysql_query($sql);
}
是的,我知道总计是比第一个表中的行多一个。我希望具有空列的行可以计算出具有共同因子的两个计数。这个文件将要经过数千行,所以我想要最高的效率!谢谢!
您是否尝试过的东西?什么?什么都可以? – PeeHaa 2014-08-29 10:25:40
是的,但它很长。我正试图缩短它为你的想法。 – Kragalon 2014-08-29 10:37:59