Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

mysqlÖÐunionºÍunion allµÄÇø±ðºÍ×¢Òâµã


×òÌìÓиö¹¦ÄÜҪʵÏÖÅÅÐÐЧ¹û£¬¶øÇÒÊÇËæ»ú°´ÕÕijЩ×ֶεÄ×ÜÖµ£¬µ«ÊǵÚÒ»¸öÓÖÒª²»Ò»Ñù£¬ÒòΪµÚÒ»¸öÈ˸øÁËÇ®£¬ËùÒÔÒªÅŵÚÒ»¡£
´ò¸ö±È·½°É£¬±í(userinfo)ÖÐÓÐÕ⼸¸ö×ֶΣºusername,isvalid,givedmoney,sumip,dayip,monthip,visitcount,regdate
ÏÖÔÚҪʵÏÖÏÔʾÅÅÐÐǰ10λÓû§£¬
     ³öÏÖÔÚÅÅÐеÚһλµÄÒªÊÇgivedmoneyΪ1µÄÓû§£¨±íʾ¸øÁËÇ®£©£¬ ¶øÇÒisvalidΪ1£¨±íʾͨ¹ýÈÏÖ¤£©
     ÆäËüµÄ9¸öÓû§ÄØ£¬ÒªÔÚ×ֶΣ¨sumip,dayip,monthip,visitcount£©ÖÐËæ»úÑ¡ÔñÒ»¸ö×÷ΪÅÅÐòµÄÒÀ¾Ý 
ÕâÑùµÄsqlÓï¾ä¸ÄÔõÃ´Ð´ÄØ?
     ÏÂÃæÊÇÎҵĴ𰸣º
          <?php
              $arr_orderby=array("sumip","dayip","monthip","visitcount");
              $orderby_filed=$arr_orderby(array_rand($arr_orderby) ); //µÃµ½Ëæ»ú×Ö¶Î
              $sql="(select username,".$orderby_filed." from userinfo where isvalid=1 and givedmoney=1 limit 1) union (select username,".$orderby_filed." from userinfo where isvalid=1 and givedmoney!=1 limit 9) order by rand(),".$orderby_filed." desc"; 
          ?>
          ÕâÀïÐèҪעÒâµÄ¼¸µãÊÇ£¬
                  1£ºunionǰºóµÄselect×Ö¶ÎÒ»¶¨ÒªÒ»Ñù£¬¶øÇÒ˳ÐòÒªÒ»Ñù£¬Èç¹ûÄã²»ÊÇselect * µÄ»° 
                  2£ºµÚ¶þ¸öselectÖУ¬ÊÔÊÔlimit 9ºÍlimit 10ÓÐʲô²»Ò»ÑùµÄЧ¹û 
unionºÍunion allµÄÇø±ð¾ÍÊǺóÃæÄÜÌß³öÖØ¸´µÄ½á¹û£¬Èç¹ûÈ·¶¨±íÖÐûÓÐÖØ¸´µÄ×ֶΣ¬½¨ÒéʹÓÃunion all 
Ò» UNIONÓï·¨
´úÂë ¸´ÖÆ´úÂë
SELECT ...   
UNION [ALL | DISTINCT]   
SELECT ...   
[UNION [ALL | DISTINCT]   
SELECT ...]  
SELECT ...
UNION [ALL | DISTINCT]
SELECT ...
[UNION [ALL | DISTINCT]
SELECT ...]
UNIONÓÃÓÚ°ÑÀ´×ÔÐí¶à


Ïà¹ØÎĵµ£º

Linux Ô´Âë°²×°Mysql5.5

¹«Ë¾µÄ·þÎñÆ÷ÊÇCentOS 5.4(Final)°æµÄ£¬½ñÌìÔÚÉÏÃæ°²×°ÁËÒ»»Ømysql5.5£¬¼Ç¼ÈçÏ£º
1¡¢´Óhttp://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.5.2-m2.tar.gz ÏÂÔØÔ´Âë°²×°°üµ½/usr/local/src
2¡¢tar zxvf mysql-5.5.2-m2.tar.gz ½âѹµ½/usr/local/src/mysql-5.5.2-m2ÏÂ
    cd mysql-5.5.2-m2/
&n ......

mysql ʹÓÃrandËæ»ú²éѯ¼Ç¼ЧÂʲâÊÔ

Ò»Ö±ÒÔΪmysqlËæ»ú²éѯ¼¸ÌõÊý¾Ý£¬¾ÍÓÃ
SELECT
 
*
 
from
 `
table

ORDER
 
BY
 
RAND
() LIMIT 
5
¾Í¿ÉÒÔÁË¡£
µ«ÊÇÕæÕý²âÊÔһϲŷ¢ÏÖÕâÑùЧÂʷdz£µÍ¡£Ò»¸ö15ÍòÓàÌõµÄ¿â£¬²éѯ5ÌõÊý¾Ý£¬¾ÓȻҪ8ÃëÒÔÉÏ
²é¿´¹Ù·½ÊֲᣬҲ˵rand()·ÅÔÚORDER BY ×Ó¾äÖлᱻִÐж ......

¸øÄãµÄMySqlÊÜÔ¶³Ì·ÃÎÊȨÏÞ

¸ømysql¿ªÒ»¸ö¿ÉÒÔÔ¶³Ì·ÃÎʵÄÓû§ÃüÁîÈçÏÂ:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
"*.*" ±íʾÊý¾Ý¿âÖÐËùÓеıí,Ò²¿ÉÒÔ»»³ÉÖ¸¶¨µÄ±íÈçtest.*
"myuser" ±íʾµÄÊÇ·ÃÎʵÄÓû§Ãû;
"%" ±íʾËùÓеÄÖ÷»ú¼´ÈκεÄÖ÷»ú¶¼¿ÉÒÔͨ¹ýÕâ¸öÓû§Ãû·ÃÎÊÎÒµÄÊý¾Ý¿â,Ò²¿ÉÒԸóÉÌØ¶¨µ ......

mysqlÐÔÄÜÓÅ»¯


¾¡¿ÉÄܵØÊ¹ÓÃ×îÓÐЧ(×îС)µÄÀàÐÍ¡£MySQLÓкܶà½ÚÊ¡´ÅÅ̿ռäºÍÄÚ´æµÄרҵ»¯ÀàÐÍ¡£
Èç¹û¿ÉÄÜʹ±í¸üС£¬Ê¹ÓýÏСµÄÕûÊýÀàÐÍ¡£ÀýÈ磬MEDIUMINT¾­³£±ÈINTºÃһЩ¡£
Èç¹û¿ÉÄÜ£¬ÉùÃ÷ÁÐΪNOT NULL¡£ËüʹÈκÎÊÂÇé¸ü¿ì¶øÇÒÄãΪÿÁнÚʡһλ¡£×¢ÒâÈç¹ûÔÚÄãµÄÓ¦ÓóÌÐòÖÐÄãȷʵÐèÒªNULL£¬ÄãÓ¦¸ÃºÁÎÞÒÉÎÊʹÓÃËü£¬Ö»ÊDZÜÃâȱʡµØÔÚËùÓ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ