2013-04-07 27 views
0

我想從列d1,d2和d3的下面所有表中計算示例數據'a'出現的次數。比如這裏有一個「從表中出現的次數爲3從mysql表中計數數據發生

d1| d2 | d3 | 
------------- 
a| ab | a | 
a| ab | ab| 
ab| av | ac | 
zx| cx | zz| 

我用

SELECT SUM(d1='a') + SUM(d2='a') + SUM(d3='a') FROM my_table 

$result = mysql_query($sql); 
$row = mysql_fetch_assoc($result); 
$allsum = $result[0]; 
echo '<pre>'; 
      echo $allsum; 
      echo '</pre>'; 

但回聲不工作

任何解決方案。

+0

結果你想要什麼? – 2013-04-07 19:18:55

回答

2

試試這個

SELECT SUM(d1='a') + SUM(d2='a') + SUM(d3='a') as allsum FROM my_table 



    $result = mysql_query($sql); 
    $row = mysql_fetch_assoc($result); 


     echo $row['allsum']; 
+0

如果你要用鍵而不是索引來引用數組,我建議使用mysql_fetch_assoc(..)來提高可讀性。 – 2013-04-07 19:38:09

+0

謝謝echo_me。很棒 – meandme 2013-04-07 21:46:41

+0

歡迎你!祝好運與其他:) – 2013-04-07 22:16:08

2
SELECT SUM(d1='a') + SUM(d2='a') + SUM(d3='a') FROM my_table 

請參閱sqlfiddle

+0

你如何迴應,因爲我使用$結果= mysql_query($ sql); $ row = mysql_fetch_assoc($ result); $ allsum = $ result [0]; echo'';並且它不起作用 – meandme 2013-04-07 19:24:24

+0

當您使用mysql_fetch_assoc(..)時,您將得到一個關聯數組而不是具有0..n個索引的數組。嘗試使用print_r(mysql_fetch_assoc($ result));你會看到鍵/值對。 – 2013-04-07 19:34:44

0
SELECT COUNT(*) FROM `table` WHERE `d1`='a' OR `d2`='a' OR `d3`='a'; 
+0

如果單個記錄在多列中具有所需的值,該怎麼辦? – eggyal 2013-04-07 19:28:26