2010-04-05 34 views
1

我試圖讓我的查詢抓取多行,同時返回該查詢的最大數量。單獨查詢計數

我的查詢:

SELECT *, COUNT(*) as Max FROM tableA LIMIT 0 , 30 

然而,它只是輸出1分的紀錄。

我想返回多個記錄,因爲它下面的查詢:

SELECT * FROM tableA LIMIT 0 , 30 

我必須使用單獨的查詢?

回答

1

使用單獨的查詢。

它是兩個不同結構的信息片段。一個是一個行集,另一個是單個值。嘗試在一個查詢中返回這兩條信息,儘管可能,但這不是一個好主意。

1

那麼,你可以使用一個單一的查詢與其中的SQL_CALC_FOUND_ROWS函數,也可以使用LIMIT。所以,當你通過的mysql_query()運行第一個查詢,則可以同時運行另一個查詢爲:

mysql_query("SELECT FOUND_ROWS()"); 

這將返回(通過查詢發現,總的行數,無論您使用限制,或不,SELECT FOUND_ROWS()會給你沒有在你的查詢中提到的LIMIT的結果計數)。

下面是一個示例查詢:

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_abc 

感謝