[英]Help counting total number of rows
我有以下類型的查詢:
SELECT * FROM TABLE
GROUP BY Table.Table_ID
LIMIT 10
我想知道如果沒有LIMIT 10
,將會選擇多少行。 我不能簡單地選擇COUNT(Table_ID)
因為我將其分組,因此它將在每一行中給出1。
SQL_CALC_FOUND_ROWS
告訴MySQL忽略任何LIMIT
子句,計算結果集中將有多少行。 然后可以使用SELECT FOUND_ROWS()
檢索行數。 請參見第11.13節“信息功能”。
如果您單擊第11.13節的鏈接,則有一個示例:
FOUND_ROWS()
SELECT
語句可以包含LIMIT
子句,以限制服務器返回給客戶端的行數。 在某些情況下,希望知道在沒有LIMIT
情況下該語句將返回多少行,而無需再次運行該語句。 要獲得此行計數,請在SELECT
語句中包括一個SQL_CALC_FOUND_ROWS
選項,然后再調用FOUND_ROWS()
:mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name -> WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS();
第二個
SELECT
返回一個數字,該數字指示如果沒有LIMIT
子句而寫入的第一個SELECT
將返回多少行。如果在最近成功執行的SELECT語句中沒有
SQL_CALC_FOUND_ROWS
選項,則FOUND_ROWS()
返回該語句返回的結果集中的行數。 如果該語句包含LIMIT
子句,則FOUND_ROWS()
返回不超過限制的行數。 例如,如果語句包含LIMIT 10
或LIMIT 50, 10
FOUND_ROWS()
,則FOUND_ROWS()
返回10
或60
。
請使用文檔作為您的第一個停靠港。
SELECT COUNT(DISTINCT TABLE_ID) FROM TABLE
您可以在包含所有要查找的行的結果集上調用mysql_num_rows
函數。
$result = mysql_query('SELECT * FROM TABLE GROUP BY Table.Table_ID');
$row_count = mysql_num_rows($result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.