2011-11-11 47 views
0

如何獲得結果並計算結果一個查詢? (IM使用PDO語句)如何在SQL中選擇和COUNT行?

SELECT * FROM table; // gets results 
SELECT COUNT(*) FROM table; // counts results 
+0

如果您使用了一個查詢,您希望您的結果看起來像什麼? –

+0

另外,你使用的是什麼風格的SQL? –

+0

是「GROUP BY ... WITH ROLLUP」的可能性嗎? –

回答

3
$result = mysql_query("SELECT * FROM table"); 
$count = mysql_num_rows($result); 

使用PDO:

$statement = $dbh->prepare('SELECT * FROM table'); 
$statement->execute(); 
$count = $statement->rowCount(); 
+0

這不符合PDO聲明,是否有這樣的PDO的作品? – supercoolville

+0

你的OP沒有提及PDO,但你可以使用rowCount函數,雖然它不如上面那樣可靠 - http://us3.php.net/manual/en/pdostatement.rowcount.php – nickb

+0

我加了一個例子爲PDO。 – nickb

1

這將使記錄計數在每行的末尾。

SELECT * 
    , COUNT(1) OVER() AS RecordCount 
FROM table; 
1
SELECT *, (select count(*) FROM table) ct FROM table 
+1

這實際上是對錶的兩個查詢,但是返回的結果集是一個。 –

+0

-1 downvote不回答OP的問題:請求是針對一個查詢。 –

+0

這是一個聲明返回一個響應。你能指出我的定義一個SQL語句的子查詢不是「一個查詢」嗎? – phatfingers

0

你應該執行只有一個查詢...

$sql = SELECT * FROM table; 
$res = mysql_query($sql); 

你可以通過mysql_num_rows總數();功能..像這樣..

$count = mysql_num_rows($res);