2014-02-18 76 views
-1

說我有下面這個PHP腳本來選擇行的真實的查詢選擇變量,並在同一個查詢SQL表的計數

$sth = $db->prepare('SELECT count(*) FROM friend_request WHERE prelim_user_id = ? AND friend_user_id = ?'); 
    $sth->bindParam(1, $user_id, PDO::PARAM_INT); 
    $sth->bindParam(2, $value, PDO::PARAM_INT); 
    $sth->execute(); 
    $sth->setFetchMode(PDO::FETCH_ASSOC); 

    $suggestion_friend_request_count = $sth->fetchColumn(); 

數的計數反正是有選擇計數以及在同一個查詢中的表中的變量?

感謝

+0

是,只需使用一組由變量你想要包括。 – Scottie

+0

你想選擇哪個變量,爲什麼? –

+0

*表中的變量*表示什麼? –

回答

1

你需要一個組由類似於:

SELECT column_A, COUNT(*) 
FROM friend_request 
WHERE prelim_user_id = ? AND friend_user_id = ? 
GROUP BY column_A 

集團通過將讓你的計數值的每個不同的組中column_A

+0

好吧,要得到返回的column_A,我可以用正常的while循環獲取返回的column_A,就好像我沒有計數那樣做? – Arken

+0

該組提供的內容是在該列中顯示不同的值,並且該計數告訴您該值出現了多少行。其他方面,如果它只是'SELECT column_A FROM ...'將只轉儲所有行。這取決於你想要做什麼。 – Coderchu

1

隨着添加列到語句的選擇部分,你需要group by要在除計數以選擇列。這將爲group by列中的每個不同值創建單獨的行。 w3schools有更詳細的信息,如果需要。