MYSQLÖÐͳ¼Æ²éѯ½á¹û×ÜÐÐÊýµÄ±ã½Ý·½·¨¡¾×ªÔØ¡¿
ת×Ô£ºhttp://ginew.blog.163.com/
½ñÌìÔĶÁ wordpress´úÂëʱ£¬·¢ÏÖÒ»¸ö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;
}
¸Ðл×÷Õß·ÖÏí£¡
Ïà¹ØÎĵµ£º
1¡¢´ò¿ªMyEclipse6.6
2¡¢Ñ¡Ôñ²Ëµ¥£ºWindow/Open Perspective/MyEclipse Database Explorer£¬µã»÷OK£¬ÔÚ×ó±ß´ò¿ªDB Brower´°¿Ú¡£
3¡¢ÔÚDB Brower´°¿ÚÄÚÈÎÒâ¿Õ°×´¦»÷ÓÒ¼ü£¬Ñ¡ÔñNewÃüÁµ¯³öDatabase Driver´°¿Ú
4¡¢±¾´°¿Ú¸÷Ïî˵Ã÷£º
Driver template: MySQL Connector/J Ñ¡ÔñÇý¶¯Ä£°å
& ......
±¾´Î°²×°µÄϵͳƽ̨Ϊredhat 5
Ò»¡¢Ê¹ÓÃRPM°ü½øÐа²×°
Ê×ÏÈ¿ÉÒÔ´Ó°²×°¹âÅÌÖлòÕßµ½mysqlµÄÍøÕ¾ÉÏÏÂÔØ¶ÔÓ¦°æ±¾µÄrpm°üÈçÏ£º
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm
½Ó×ÅÎÒÃÇ¿ÉÒÔʹÓÃrpmÃüÁî½øÐа²×°£º
rpm -ivh MySQL ......
ÎÒÔÚmysql ÃüÁîÐÐÕâ¸öϵÁÐÀï½éÉܹýÓÐÌõ¼þ²éѯ£¬ËüÓõ½WHERE×Ӿ䡣µ«ÊÇÓÐʱºòÓÃWHERE×Ó¾äÎÞ·¨¸øÎÒÃǵIJéѯ¼ÓÈëÌõ¼þ£¬±ÈÈçÔÚÉÏÒ»½ÚÎÒÃÇѧϰµÄGROUP BY(°´×é¹éÀà)×Ӿ䣬Èç¹ûÎÒÃÇÒªÔÚ°´×é¹éÀàºó¼ÓÈëÌõ¼þ£¬ÓÃWHERE¾ÍÐв»Í¨£¬ÒòΪWHEREÖ»¿ÉÒÔÔÚ°´×é¹éÀàǰ¼ÓÈëÌõ¼þ¡£ºÃÔÚmysqlÌṩHAVING×Ӿ䣬Ëü¿ÉÒÔ°ïÎÒÃǽâ¾öÕâ¸öÎÊÌâ¡£
ÈçºÎÊ¹Ó ......
ÎÊÌâÊÇÕâÑùµÄ£º
Ò»ÕÅtestµÄ±í£¬×Ö·û¼¯²ÉÓõÄlatin1¡£
select to_id from test where to_id='cnÏó_Íõ';
+---------------+
| to_id |
+---------------+
| cnÌÕ_ÌÕ |
| cnÏó_Íõ |
+---------------+
2 rows in set (0.00 sec)
È¡cnÏó_ÍõµÄÊý¾Ý,¾ÓÈ»°ÑcnÌÕ_ÌÕµÄÊý¾ÝҲȡ»ØÀ´ÁË¡£
ÕâÏÔÈ»ÊDz»ÔÊÐíµÄ¡£
......
ÏÈ´´½¨Ò»¸öÊý¾Ý¿âMyDB
CREATE DATABASE `mydb` ;
ÔÙ´´½¨Ò»¸ö¼òµ¥µÄÊý¾Ý±í
CREATE TABLE `MyDB`.`MyTable` (
`Name` VARCHAR( 20 ) NOT NULL ,
`Age` INT NOT NULL
) ENGINE = MYISAM
²åÈëһЩÊý¾Ý
INSERT INTO `mydb`.`mytable` (
`Name` ,
`Age`
)
VALUES (
'Jim', '15'
), (
'Amy', '16'
), (
'Jack' ......