mysqlʹÓÃrandËæ»ú²éѯ¼Ç¼ЧÂʲâÊÔ
Ò»Ö±ÒÔΪmysqlËæ»ú²éѯ¼¸ÌõÊý¾Ý£¬¾ÍÓÃ
SELECT * from `table` ORDER BY RAND() LIMIT 5
¾Í¿ÉÒÔÁË¡£
µ«ÊÇÕæÕý²âÊÔһϲŷ¢ÏÖÕâÑùЧÂʷdz£µÍ¡£Ò»¸ö15ÍòÓàÌõµÄ¿â£¬²éѯ5ÌõÊý¾Ý£¬¾ÓȻҪ8ÃëÒÔÉÏ
²é¿´¹Ù·½ÊֲᣬҲ˵rand()·ÅÔÚORDER BY ×Ó¾äÖлᱻִÐжà´Î£¬×ÔȻЧÂʼ°ºÜµÍ¡£
You cannot use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times.
ËÑË÷Google£¬ÍøÉÏ»ù±¾É϶¼ÊDzéѯmax(id) * rand()À´Ëæ»ú»ñÈ¡Êý¾Ý¡£
SELECT *
from `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) from `table`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id ASC LIMIT 5;
µ«ÊÇÕâÑù»á²úÉúÁ¬ÐøµÄ5Ìõ¼Ç¼¡£½â¾ö°ì·¨Ö»ÄÜÊÇÿ´Î²éѯһÌõ£¬²éѯ5´Î¡£¼´±ãÈç´ËÒ²ÖµµÃ£¬ÒòΪ15ÍòÌõµÄ±í£¬²éѯֻÐèÒª0.01Ãë²»µ½¡£
ÉÏÃæµÄÓï¾ä²ÉÓõÄÊÇJOIN£¬mysqlµÄÂÛ̳ÉÏÓÐÈËʹÓÃ
SELECT *
from `table`
WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) from `table` )
ORDER BY id LIMIT 1;
ÎÒ²âÊÔÁËһϣ¬ÐèÒª0.5Ã룬ËÙ¶ÈÒ²²»´í£¬µ«ÊǸúÉÏÃæµÄÓï¾ä»¹ÊÇÓкܴó²î¾à¡£×ܾõÓÐʲôµØ·½²»Õý³£¡£
ÓÚÊÇÎÒ°ÑÓï¾ä¸ÄдÁËһϡ£
SELECT * from `table`
WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) from `table`)))
ORDER BY id LIMIT 1;
ÕâÏ£¬Ð§ÂÊÓÖÌá¸ßÁË£¬²éѯʱ¼äÖ»ÓÐ0.01Ãë
×îºó£¬ÔÙ°ÑÓï¾äÍêÉÆÒ»Ï£¬¼ÓÉÏMIN(id)µÄÅжϡ£ÎÒÔÚ×ʼ²âÊÔµÄʱºò£¬¾ÍÊÇÒòΪûÓмÓÉÏMIN(id)µÄÅжϣ¬½á¹ûÓÐÒ»°ëµÄʱ¼ä×ÜÊDzéѯµ½±íÖеÄÇ°Ãæ¼¸ÐС£
ÍêÕû²éѯÓï¾äÊÇ£º
SELECT * from `table`
WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) from
`table`)-(SELECT MIN(id) from `table`)) + (SELECT MIN(id) from
`table`)))
ORDER BY id LIMIT 1;
SELECT *
from `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) from
`table`)-(SELECT MIN(id) from `table`))+(SELECT MIN(id) from `table`))
AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 1;
×îºóÔÚphpÖжÔÕâÁ½¸öÓï¾ä½øÐзֱð²éѯ10´Î£¬
ǰÕß»¨·Ñʱ¼ä 0.147433 Ãë
ºóÕß»¨·Ñʱ¼ä 0.015130 Ãë
¿´À´²ÉÓÃJOINµÄÓï·¨±ÈÖ±½ÓÔÚWHEREÖÐʹÓú¯ÊýЧÂÊ»¹Òª¸ßºÜ¶à¡£
Ïà¹ØÎĵµ£º
¹ØÓÚÐÞ¸ÄmysqlµÄrootÃÜÂëµÄ½â´ð£¨×Ü½áÆª£©
ÕûÀíÁËÒÔÏÂËÄÖÖÔÚMySQLÖÐÐÞ¸ÄrootÃÜÂëµÄ·½·¨,Ö÷ÒªÊÇÓÐʱºò×Ô¼ºÓöµ½ÁËÕâ¸öÎÊÌâ²»ÖªµÀÔõô¸ãÁË£¬µ±È»Èç¹ûÄܸø¹ã´óµÄPHPer½â¾öÎÊÌâÒ²ÊÇÎÒµÄÈÙÐÒ°¡£¬ºÇºÇ¡£
·½·¨1£º ÓÃSET PASSWORDÃüÁî
¡¡¡¡mysql -u root
¡¡¡¡mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('n ......
MySQL³£ÓòÙ×÷»ù±¾²Ù×÷£¬ÒÔ϶¼ÊÇMySQL5.0ϲâÊÔͨ¹ýÊ×ÏÈ˵Ã÷Ï£¬¼ÇסÔÚÿ¸öÃüÁî½áÊøÊ±¼ÓÉÏ£»£¨·ÖºÅ£©
1.µ¼³öÕû¸öÊý¾Ý¿â
mysqldump -u Óû§Ãû -p --default-character-set=latin1 Êý¾Ý¿âÃû > µ¼³öµÄÎļþÃû(Êý¾Ý¿âĬÈϱàÂëÊÇlatin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.µ¼³öÒ»¸ö±í
mysqldump -u Ó ......
¡¾×¢£º¿ÉÒÔÔÚmysqlÖÐͨ¹ýmysql> SELECT VERSION();À´²é¿´Êý¾Ý¿â°æ±¾¡¿
ÕûÀí£ºleo
Ò»¡¢Á¬½ÓMYSQL¡£
¸ñʽ£º mysql -hÖ÷»úµØÖ· -uÓû§Ãû £pÓû§ÃÜÂë
1¡¢Á¬½Óµ½±¾»úÉϵÄMYSQL¡£
Ê×ÏÈ´ò¿ªDOS´°¿Ú£¬È»ºó½øÈëĿ¼mysql\bin£¬ÔÙ¼üÈëÃüÁîmysql -u root -p£¬»Ø³µºóÌáʾÄãÊäÃÜÂë.×¢ÒâÓû§Ãûǰ¿ÉÒÔÓпոñÒ²¿ÉÒÔûÓпոñ£¬µ«ÊÇà ......
1. ÔÚʹÓÃNavicat 8 for MySQL¿Í»§¶Ë´´½¨Êý¾Ý¿âʱ£¬±àÂëµÄÉèÖÃÈçÏÂͼ£º
2. ½«°²×°Ä¿Â¼F:\MySQL\MySQL Server 5.1Ï£¬my.iniÎļþÉèÖñäÁ¿Öµdefault-character-set=gbk £¨°üº¬Á½´¦£¬¿É²éÕÒdefault-character-set£©£¬È»ºóÖØÆôMYSQL·þÎñ¡£ ......
Ubuntu 9.04 ÏÂÓÃÔ´°²×°ÁËMySQL¡£Ä¬ÈÏÇé¿öÏ£¬ÓÃmysql shellµÇ¼´´½¨Êý¾Ý¿â´´½¨±í²åÈëÖÐÎÄÊý¾Ýºó£¬ÓÃselect²é³öÀ´ÊÇÖÐÎÄ£¬µ«ÓÃJDBCÁ¬½Ó¾Í³öÏÖÂÒÂë¡£ÍøÉÏËÑË÷µ½½â¾ö·½·¨£¬ÈçÏ£¨Ïȱ¸·ÝÊý¾Ý£©£º
ÐÞ¸Ä/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
ÔÚmy.cnfÎļþÖеÄ[client] ......