我試圖將我在我的數據庫中的數據壓縮成行,並將它們的分數記錄下來以查看最流行的數據。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