2
我正在嘗試使用PHP文件或SQL將通過大型data
表來計算單元格組合的數量並在新的data_sum
表中計數它們的數量。mysql計數獨特的單元格組合,爲空
我在工作的PHP文件的想法:
$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){
while($add2 = @mysql_fetch_array($ritem1)){
$qitem2 = "SELECT * FROM data_sum WHERE item2='".$add['item2']."'";
$ritem2 = mysql_query($qitem2);
if (mysql_num_rows($ritem2) > 0){
$sql = "UPDATE Count=Count + 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);
}
如果我有一個表:
`data`
item1 item2
1 (this row counts to both the '1,2' duo as well as the '1,3')
1 2
1 3
1 3
2 3
而且我想它凝結成類似:
`data_sum`
item1 item2 Count
1 2 2
1 3 3
2 3 1
是的,我知道data
只有5行,計數總共是6.我希望沒有任何細胞在他們的計數對每個可能的分支。有沒有辦法在SQL中使用COUNT或UNIQUE或DISTINCT執行此操作?謝謝!
按預期工作!非常感謝! – Kragalon 2014-08-30 03:17:12
我確實有一個問題。在SQL小提琴上,左邊的代碼去哪裏?那是我如何構建我的桌子?或者我用PHP運行這兩個查詢?另外,我會用什麼來取代「基地」?謝謝。 – Kragalon 2014-08-30 03:47:14
@Kragalon。 。左邊的代碼是創建表格等。右側的代碼是運行查詢。 – 2014-08-30 03:51:37