Ҳ̸MySQLÖÐʵÏÖROWNUM
À´Ô´ http://e-xia.com/2009/06/rownum-in-mysql/
ÔÚ¹¤×÷ÖÐÅöµ½ÕâÑùµÄÎÊÌ⣬ÔÚÉú³É±¨±íʱµÚÒ»ÁÐÒªÊä³ötop 1, top 2, ... , top 10¡£¶ømysql²¢²»×Ô´øÕâÑùµÄ¹¦ÄÜ¡£¼ÙÉèÎÒÃÇÓÐÕâÑùµÄÒ»¸ö±í£º
mysql> create table tbl (
-> id int primary key,
-> col int
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> insert into tbl values
-> (1,26),
-> (2,46),
-> (3,35),
-> (4,68),
-> (5,93),
-> (6,92);
Query OK, 6 rows affected (0.05 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> select * from tbl order by col;
+----+------+
| id | col |
+----+------+
| 1 | 26 |
| 3 | 35 |
| 2 | 46 |
| 4 | 68 |
| 6 | 92 |
| 5 | 93 |
+----+------+
6 rows in set (0.00 sec)
ÖйæÖоصÄ×ö·¨ÊÇ£º
SET
@x=
0
;
SELECT
@x:=
@x AS
rownum,
id,
col
from
tbl
ORDER
BY
col;
µ«ÊÇÕâÑù¾Í±ä³ÉÁËÁ½¸öquery£¬ÔÚjavaÀïÃæÓÃexecuteQuery»áÓÐÎÊÌâ¡£
µ±Ê±×Ô¼ºÏëµ½µÄÊÇÕâÑù£º
SELECT
@x :=
IFNULL(
@x,
0
)
+
1
AS
rownum,
id,
col
from
tbl
ORDER
BY
col;
µ«ÊǵÚÒ»´ÎÔËÐеÄʱºòrownum¶¼ÊÇ1£¬µÚ¶þ´ÎÔËÐÐrownum±ä³É2-11£¬µÚÈý´ÎΪ12-21¡£
ºóÀ´ÓÖ¿´µ½Ò»Ð©ºÜÐü£¬¶øÇÒ¿´ÉÏÈ¥ºÜûÓÐЧÂʵķ½·¨£¬ÀýÈ磺
ʹÓÃÁª½Ó²éѯ£¨µÑ¿¨¶û»ý£©
SELECT
a.
id,
a.
col,
COUNT(
*
)
AS
rownum
from
tbl a,
tbl b
WHERE
a.
col>=
b.
col
GROUP
BY
a.
id,
a.
col;
×Ó²éѯ
SELECT
a.*,
(
SELECT
count(
*
)
from
tbl WHERE
col<=
a.
col)
AS
rownum
from
tbl a;
ÕâЩ¶¼²»ÊÇÎÒÒªµÄ£¡£¡
×îºóÎÒÕÒµ½Á˵ÚÒ»ÖÖ·½·¨µÄ¸ÄÁ¼Ë¼Â·£¬×öÁËһЩ¸Ä¶¯£¬ËäÈ»»¹ÊÇÈÆÁËÒ»¸öСÍ䣬µ«ÊÇÒѾºÜºÃÓÃÁË£º
SELECT
@rownum:=
@rownum+1
rownum,
id,
col
from
(
SELECT
@rownum:=
0
,
*
from
tbl
ORDER
BY
col DESC
)
t;
¸ü½øÒ»²½µÄÓ¦ÓÃÊÇ£¬µ±ÓÐÁ½¸ötableÒª²¢ÅÅ·ÅÔÚÒ»Æð£¬ÀýÈçÒ»¸öorder by id£¬ÁíÒ»¸öorder by
col£¬ÔÏȵÄ×ö·¨ÊÇдÁ½¸öquery£¬È»ºóÔÚÒ³ÃæÀï²¢ÅÅ·Å£¬²»¹ýÓÐÁËrownumÒÔºó¾Í¿ÉÒÔÓÃjoinÖ±½ÓÊä³öÍêÈ«·ûºÏÒªÇóµÄtableÁË¡£
²Î¿¼²ÄÁÏ£º
MySQL
ÖеÄROWNUMµÄʵÏÖ
How
to number rows i
Ïà¹ØÎĵµ£º
µÚÒ»ÕС¢mysql·þÎñµÄÆô¶¯ºÍÍ£Ö¹
net stop mysql
net start mysql
µÚ¶þÕС¢µÇ½mysql
Óï·¨ÈçÏ£º mysql -uÓû§Ãû -pÓû§ÃÜÂë
¼üÈëÃüÁîmysql -uroot -p£¬ »Ø³µºóÌáʾÄãÊäÈëÃÜÂ룬ÊäÈë12345£¬È»ºó»Ø³µ¼´¿É½øÈëµ½mysqlÖÐÁË£¬mysqlµÄÌáʾ·ûÊÇ£º
mysql>
×¢Ò⣬Èç¹ûÊÇÁ¬½Óµ½ÁíÍâµÄ»úÆ÷ÉÏ£¬ÔòÐèÒª¼ÓÈëÒ»¸ö²ÎÊý-h»úÆ÷IP
µ ......
ÉèÖÃMySQLÊý¾Ýͬ²½£¨µ¥Ïò&Ë«Ïò£©
ÓÉÓÚ¹«Ë¾µÄÒµÎñÐèÇó£¬ÐèÒªÍøÍ¨ºÍµçÐŵÄÊý¾Ýͬ²½£¬¾Í×öÁ˸öMySQLµÄË«Ïòͬ²½£¬¼ÇϹý³Ì£¬ÒÔºóÓõõ½ÔÙ·³öÀ´£¬Ò²Ìù³öÀ´¹©´ó¼Ò²Î¿¼¡£
Ò»¡¢×¼±¸·þÎñÆ÷
ÓÉÓÚMySQL²»Í¬°æ±¾Ö®¼äµÄ(¶þ½øÖÆÈÕÖ¾)binlog¸ñʽ¿ÉÄܻ᲻һÑù£¬Òò´Ë×îºÃµÄ´îÅä×éºÏÊÇMasterµÄMySQL°æ±¾ºÍSlaveµÄ°æ±¾Ïàͬ»òÕ߸üµÍ£¬Ma ......
µ±ÄãÁ¬½ÓÒ»¸öMySQL·þÎñÆ÷ʱ£¬Äãͨ³£Ó¦¸ÃʹÓÃÒ»¸ö¿ÚÁî¡£¿ÚÁî²»ÒÔÃ÷ÎÄÔÚÁ¬½ÓÉÏ´«Êä¡£
ËùÓÐÆäËûÐÅÏ¢×÷ΪÄܱ»ËùÓÐÈ˶Á¶®µÄÎı¾±»´«Êä¡£Èç¹ûÄãµ£ÐÄÕâ¸ö£¬Äã¿ÉʹÓÃѹËõÐÒé(MySQL3.22ºÍÒÔÉϰ汾)ʹÊÂÇé±äµÃ¸üÄÑ¡£ÉõÖÁΪÁËʹһÇиü°²È«£¬ÄãÓ¦¸Ã°²×°ssh£¨¼ûhttp://www.cs.hut.fi/ssh)¡£ÓÃËû£¬ÄãÄÜÔÚÒ»¸öMySQL·þÎñÆ÷ºÍÒ»¸öMySQL¿Í» ......
Èç¹ûÄãÊǸöÈü³µÊÖ£¬²¢ÇÒ°´Ò»Ï°´Å¥¾ÍÄܹ»Á¢¼´¸ü»»ÒýÇæ¶ø²»ÐèÒª°Ñ³µ¿ªµ½³µ¿âÀïÈ¥»»£¬ÄÇ»áÊÇʲô¸Ð¾õÄØ£¿MySQLÊý¾Ý¿âΪ¿ª·¢ÈËÔ±Ëù×öµÄ¾ÍºÃÏñÊǰ´°´Å¥»»
ÒýÇæ£»ËüÈÃÄãÑ¡ÔñÊý¾Ý¿âÒýÇæ£¬²¢¸øÄãÒ»Ìõ¼òµ¥µÄ;¾¶À´Çл»Ëü¡£
MySQLµÄ×Ô´øÒýÇæ¿Ï¶¨Êǹ»ÓÃÁË£¬µ«ÊÇÔÚÓÐЩÇé¿öÏ£¬ÆäËûµÄÒýÇæ¿ÉÄÜÒª±ÈÊÖÍ·ËùÓøüÊʺÏÍê³ÉÈÎÎñ¡£Èç¹ûÔ¸ÒâµÄ ......
×òÌìÍíÉÏÔÚ¿´C/C++¶ÔÊý¾Ý¿âµÄ²Ù×÷,ÃÍÈ»¼ä¾õµÃÊ®·ÖÇ×ÇУ¬ÒòΪÆäÖкܶຯÊý¶¼ºÍPHPÖжÔMySQL²Ù×÷Ïàͬ£¬ÕâÊDzÅÏëÆðPHPÊÇCÑÝ»¯¶øÀ´µÄ¡£¾¹ýÒ»·¬µ·ÌÚ£¬ÖÕÓÚÍê³ÉÁËÒ»¸ö¼òµ¥µÄ³ÌÐò£¬µ«ÊÇÈÔÈ»´æÔÚ×ÅÒ»¸öÑÏÖØµÄÎÊÌ⣬¾ÍÊÇ´ÓÊý¾Ý¿âÖеõ½µÄ½á¹ûÔÚÆÁÄ»ÉÏÏÔʾµÄÊÇÂÒÂ룬ºÜÈÃÈË·³¡£»¹Íû¸ßÊÖÃǴͽ̣¡
1.ÔÚ»úÆ÷ÉÏ×°ÉÏMySQL £¬¼ÙÉè°²×°ÔÚ C ......