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

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:04:46
字體:
來源:轉載
供稿:網友
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;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家港市| 恩平市| 广河县| 南投县| 嘉义市| 龙江县| 安吉县| 修水县| 贡山| 泉州市| 大田县| 尤溪县| 绥滨县| 兴安盟| 顺昌县| 双柏县| 双流县| 紫金县| 罗田县| 夏邑县| 沂水县| 宝应县| 吕梁市| 那曲县| 尚义县| 太康县| 蒙山县| 松阳县| 竹山县| 新泰市| 乐都县| 庆安县| 明溪县| 托克托县| 土默特右旗| 武隆县| 敦化市| 东宁县| 团风县| 洪湖市| 舒城县|