国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL中統計查詢結果總行數的便捷方法省去count(*)

2024-07-24 12:48:08
字體:
來源:轉載
供稿:網友
MYSQL的關鍵詞 :
SQL_CALC_FOUND_ROWS
查看手冊后發現此關鍵詞的作用是在查詢時統計滿足過濾條件后的結果的總數(不受 Limit 的限制)

例如:
復制代碼 代碼如下:

SELECT SQL_CALC_FOUND_ROWS tid FROM cdb_threads WHERE fid=14 LIMIT 1,10;

假設滿足條件的有1000條,這里返回10條。
立即使用
復制代碼 代碼如下:

SELECT found_rows() AS rowcount;

則返回的 rowcount 為1000;
這樣節省了SELECT count(*) AS rowcount的重復查詢,可以節省比較可觀的時間。

以下是該放在在游味中的應用:
復制代碼 代碼如下:

function mail_list_sent( $uid, $start ) {
// 注意SQL_CALC_FOUND_ROWS uid之間沒有逗號
$query = "SELECT SQL_CALC_FOUND_ROWS uid, real_name, current_city, msg_uid, sender_flag, ".
"msg_title, msg_content FROM " . TT_DBTABLEPRE . "mailbox as mb1, " . TT_DBTABLEPRE .
"user as usr1 WHERE mb1.sender_id=usr1.uid AND mb1.sender_id=$uid AND sender_flag > 0 LIMIT $start, " . TT_PAGESIZE;
$mails = $this->db->fetch_all( $query );
//查詢SELECT中滿足條件的行數,與LIMIT子句無關
$max_count = $this->db->fetch_first( "SELECT found_rows() AS rowcount" );
$tmp['state_code'] = 200;
$tmp['info'] = "OK";
$tmp['list'] = $mails;
$data = json_encode( $tmp );
return $data;
}

您可能感興趣的文章:

Mysql中的count()與sum()區別詳細介紹mySQL count多個表的數據實例詳解關于mysql innodb count(*)速度慢的解決辦法MySQL中distinct和count(*)的使用方法比較詳細解讀MySQL中COUNT函數的用法mysql_num_rows VS COUNT 效率問題分析關于mysql中innodb的count優化問題分享淺析一個MYSQL語法(在查詢中使用count)的兼容性問題mysql中count(), group by, order by使用詳解MySQL中count(*)、count(1)和count(col)的區別匯總
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苗栗县| 静海县| 怀安县| 额尔古纳市| 前郭尔| 黑龙江省| 龙江县| 嘉禾县| 雷山县| 南皮县| 洛川县| 襄樊市| 鸡东县| 宣化县| 万年县| 南康市| 尤溪县| 乌拉特前旗| 密山市| 德昌县| 镇康县| 丰顺县| 田阳县| 鹤庆县| 靖州| 河东区| 大足县| 宁化县| 东丰县| 石渠县| 罗平县| 江城| 利辛县| 邵阳县| 维西| 平阳县| 万州区| 南召县| 萨迦县| 深圳市| 嵩明县|