×ݱíתºá±íµÄ"SQL"ʾÀý£º
¡¡¡¡×ݱí½á¹¹:
¡¡¡¡
¡¡¡¡fname ftype fvalue
¡¡¡¡Ð¡ÇÇ zaocan 10
¡¡¡¡Ð¡ÇÇ zhongcan 20
¡¡¡¡Ð¡ÇÇ wancan 5
¡¡¡¡
¡¡¡¡×ª»»ºóµÄ±í½á¹¹:
¡¡¡¡
¡¡¡¡fname zaocan_value zhongcan_value wancan_value
¡¡¡¡Ð¡ÇÇ 10 20 5
¡¡¡¡
¡¡¡¡×ݱíתºá±íSQLʾÀý:
¡¡¡¡
¡¡¡¡select Fname, sum(case Ftype when 'zaocan'
¡¡¡¡then Fvalue else 0 end) as zaocan_value,
¡¡¡¡sum(case Ftype when 'zhongcan'
¡¡¡¡then Fvalue else 0 end) as zhongcan_value,
¡¡¡¡sum(case Ftype when 'wancan' then Fvalue else 0 end)
¡¡¡¡as wancan_value from case_table group by Fname ......
×î½üÓöµ½Ò»¸öÎÊÌ⣬ÔÚ²Ù×÷SQL¸üÐÂÕË»§Óà¶îʱ£¬³£³£·¢ÏÖ¸üкóµÄÓà¶îÓëʵ¼ÊµÄ²»Ïà·û£¬ÂíÉÏÏëµ½ÁËÊDz»ÊÇ´æÔÚ²¢·¢¸üУ¬Ò»²é¹ûÈ»Èç´Ë¡£Ö®Ç°Ò²ÔøÓöµ½¹ýÕâÑùµÄÎÊÌ⣬µ±Ê±Ã»Ì«ÔÚÒ⣬ÏÖÔÚÊǽâ¾öµÄʱºòÁË¡£ÓÃMysqlÄ£ÄâÁËÒ»ÏÂÕâ¸ö¹ý³Ì£º´´½¨Á½ÕÅ±í£¬paralltableºÍparallalter£¬Ã¿´Î¸ù¾Ýparatable±í¸üÐÂparallalter±í£¬ÓÐÈçϼ¸ÌõÂß¼
¢Ù parallProcess.jspÒ³Ãæ½ÓÊÕparall.jsp´«¹ýÀ´µÄÖµ£¬Ê×ÏÈÏòparalltable²åÈëÒ»Ìõ¼Ç¼£¬Í¬Ê±ÓÃparalltableµÄid£¬num£¬Ïòparallalter±í²åÈëÒ»ÌõмǼ£»
¢Ú Ö®ºóparallProcess.jsp×¼±¸¸üиղåÈëµÄparalltable¼Ç¼£¬ËæÖ®ÓøüкóµÄparalltableµÄid£¬num£¬Ïòparallalter±í²åÈëÒ»ÌõмǼ£¬µ«ÔÚ¸üÐÂ֮ǰ£¬ÏÈÈËΪµÄÉèÖÃÒ»¸öÑÓʱ£¬ÔÚÑÓʱÆÚÄÚÖ´Ðв¢·¢²Ù×÷¢Û £»
¢Û ´Óparall2.jspÒ³ÃæÏòparallProcess2.jspÒ³Ãæ´«Öµ£¬ÔÚparallProcess.jspÑÓʱÆÚÄÚ£¬¸üТÙÖÐÏòparalltable²åÈëµÄ¼Ç¼£¬Í¬Ê±ÓøüкóµÄparalltableµÄid£¬num£¬Ïòparallalter±í²åÈëÒ»ÌõмǼ£»
¢Ü Ö´ÐÐÍê¢ÛµÄ²Ù×÷ºó£¬Á¢¿ÌÖ´ÐТڵIJÙ×÷¡£
Èç´ËµÄ»°£¬¾Í»á·¢ÏÖ±¾À´¢ÛÊÇÔÚ¢ÚÍ ......
ÔÚPL/SQLÖÐÒýÈëÁË¿ØÖƽṹ£¬°üÀ¨Ñ¡Ôñ½á¹¹£¬Ñ»·½á¹¹ºÍÌø×ª½á¹¹
Ò» Ñ¡Ôñ½á¹¹
1,IF Óï¾ä
ÔÚPL/SQLÖУ¬Ñ¡Ôñ½á¹¹¿ÉÒÔͨ¹ýifÓï¾äÀ´ÊµÏÖ£¬Ò²¿ÉÒÔͨ¹ýCaseÓï¾ä£¨oracle9iÖУ©
ÀûÓÃifÓï¾äʵÏÖÑ¡Ôñ¿ØÖƵÄÓ﷨Ϊ£º
if condition1 then statements1;
[else if condition2 then statements2;]
......
[else else_statements];
end if;
ÓÉÓÚPL/SQL ÖеÄÂß¼ÔËËã½á¹ûÓÐtrue,false ºÍnull ÈýÖÖ£¬Òò´ËÔÚ½øÐÐÑ¡ÔñÌõ¼þµÄÅжÏʱ£¬Òª¿¼ÂÇÌõ¼þΪnullµÄÇé¿ö
2,CASE Óï¾ä
ÔÚOracle9iÖÐÌṩÁËÁíÒ»ÖÖÑ¡Ôò¿ØÖƽṹ£¬¼´caseÓï¾ä¡£case Óï¾äÓÐÁ½ÖÖÐÎʽ£¬Ò»ÖÖÖ»½øÐеÈÖµ±È½Ï£¬ÁíÒ»ÖÖ¿ÉÒÔ½øÐжàÌõ¼þ±È½Ï¡£
£¨1£©Ö»½øÐеÈÖµ±È½ÏµÄcaseÓï¾ä£»
Case test_value
when value1 then statements1;
when value2 then statements2;
&nb ......
ÔÚ½éÉÜGROUP BY ºÍ HAVING ×Ó¾äǰ£¬ÎÒÃDZØÐèÏȽ²½²sqlÓïÑÔÖÐÒ»ÖÖÌØÊâµÄº¯Êý£º¾ÛºÏº¯Êý£¬ÀýÈçSUM, COUNT, MAX, AVGµÈ¡£ÕâЩº¯ÊýºÍÆäËüº¯ÊýµÄ¸ù±¾Çø±ð¾ÍÊÇËüÃÇÒ»°ã×÷ÓÃÔÚ¶àÌõ¼Ç¼ÉÏ¡£
SELECT SUM(population) from bbc
¡¡¡¡ÕâÀïµÄSUM×÷ÓÃÔÚËùÓзµ»Ø¼Ç¼µÄpopulation×Ö¶ÎÉÏ£¬½á¹û¾ÍÊǸòéѯֻ·µ»ØÒ»¸ö½á¹û£¬¼´ËùÓйú¼ÒµÄ×ÜÈË¿ÚÊý¡£
¡¡¡¡Í¨¹ýʹÓÃGROUP BY ×Ӿ䣬¿ÉÒÔÈÃSUM ºÍ COUNT ÕâЩº¯Êý¶ÔÊôÓÚÒ»×éµÄÊý¾ÝÆð×÷Óᣵ±ÄãÖ¸¶¨ GROUP BY region ʱ£¬ ÊôÓÚͬһ¸öregion£¨µØÇø£©µÄÒ»×éÊý¾Ý½«Ö»ÄÜ·µ»ØÒ»ÐÐÖµ£¬Ò²¾ÍÊÇ˵£¬±íÖÐËùÓгýregion£¨µØÇø£©ÍâµÄ×ֶΣ¬Ö»ÄÜͨ¹ý SUM, COUNTµÈ¾ÛºÏº¯ÊýÔËËãºó·µ»ØÒ»¸öÖµ¡£
¡¡¡¡HAVING×Ó¾ä¿ÉÒÔÈÃÎÒÃÇɸѡ³É×éºóµÄ¸÷×éÊý¾Ý£¬WHERE×Ó¾äÔÚ¾ÛºÏǰÏÈɸѡ¼Ç¼£®Ò²¾ÍÊÇ˵×÷ÓÃÔÚGROUP BY ×Ó¾äºÍHAVING×Ó¾äǰ£®
¶ø HAVING×Ó¾äÔھۺϺó¶Ô×é¼Ç¼½øÐÐɸѡ¡£
¡¡¡¡ÈÃÎÒÃÇ»¹ÊÇͨ¹ý¾ßÌåµÄʵÀýÀ´Àí½âGROUP BY ºÍ HAVING ×Ӿ䣬»¹²ÉÓõÚÈý½Ú½éÉܵÄbbc±í¡£
¡¡¡¡SQLʵÀý£º
¡¡¡¡Ò»¡¢ÏÔʾÿ¸öµØÇøµÄ×ÜÈË¿ÚÊýºÍ×ÜÃæ»ý£º
SELECT region, SUM(population), SUM(area)
from bbc
GROUP BY region
......
excelµ¼ÈëSQLʱÌáʾ"Êý¾Ý¶ÔÓÚËùÖ¸¶¨µÄ»º³åÇøÀ´½²Ì«´ó"
ÒÔÏÂÄÚÈÝת×Ô[CSDN]
×î½ü´¦ÀíexcelÊý¾Ýµ¼Èëµ½Sql ServerÖУ¬Ê§°Ü£¬±¨´íÈçÏ £º
×÷ΪԴÁÐ3£¨“²úƷ˵Ã÷”£©µÄÊý¾Ý¶ÔÓÚËùÖ¸¶¨µÄ»º³åÇøÀ´½²Ì«´ó ¡£
ÎÒµÄexcelÎļþÖÐÓÐÒ»ÁнГ²úƷ˵Ã÷”£¬¾ÍÊÇһЩÎÄ×Ö¡£Sql
server´¦Àíµ¼excelÊý¾ÝÁ÷³ÌÊÇÕâÑùµÄ£¬Ëü»áÏÈ´´½¨Ä¿±ê±í£¬ÔÙ°ÑexcelÊý¾ÝдÈ뻺³åÇø£¬È»ºóÔÙ°Ñ»º³åÇøÊý¾ÝдÈëÄ¿±ê±í¡£ÎÊÌâ¾ÍÔÚ´´½¨Ä¿±ê±íºÍ
дÈ뻺³åÇø£¬sql
server»á¸ù¾ÝÏÖÔÚµÄexcelÖеÄÊý¾Ý¸ñʽÀ´Ð´È뻺³åÇøºÍ´´½¨Ä¿±ê±í¡£±ÈÈçexcelÖÐÓÐÒ»ÁÐΪ±àºÅ£¬ÀïÃæÊÇÊý×Ö£¬sqlserver¾Í»áÔÚÄ¿±ê±í
ÀィһÁнГ±àºÅ”£¬ÎªfloatÀàÐÍ.
¶ø¶ÔÓÚÎÒµÄexcelÎļþÖеÄ"²úƷ˵Ã÷"ÕâÒ»ÁУ¬ÊÇÎÄ×Ö£¬ÄÇsql
serverÈçºÎ½¨Á¢Ä¿±êÁлò»º³åÇøÄØ£¿ËüÔõô֪µÀ¸Ã°ÑÄ¿±ê½¨Á¢³Évarchar»¹ÊÇtextÄØ£¿¾¹ý²âÊÔ£¬·¢ÏÖsql
serverÊÇÕâÑù×öµÄ£¬Ëû»áÈ¡excelÎļþÖеÄǰ8ÐУ¨2µÄÈý´Î·½£©£¬È»ºóËãÕâ8ÐÐÀúƷ˵Ã÷”µÄ×î´ó³¤¶È£¬Èç¹ûÕâ8ÐÐÀï×µÄ >
255,ÔòÄ¿±êÁкͻº³åÇø¾Í»á½¨Á¢³ÉntextÀàÐÍ£¬·ñÔò¾Í½¨Á¢³ÉnvarcharÀàÐÍ¡£ÕâÑù£¬ÎÊÌâ¾ÍÀ´ÁË£¡¼ÙÉèÎÒµÄexcelÎļþǰ8ÐГ²ú ......
¶ÔÓÚSQL Ëæ»ú³éÑùÎÒÃdz£Ïëµ½µÄ¾ÍÊÇnewid()£¬µ«Èç¹û¶ÔÓÚÒ»¸öÔÚ°ÙÍò¡¢Ç§ÍòÉõÖÁ¸ü´óº£Á¿Êý¾Ý±íÖгéÑùµÄ»°£¬¼òµ¥µÄnewid()£¬ÆäÐÔÄÜ£¬Ð§ÂʾͲ»ÊǺÜÀíÏëÁË¡£ËùÒÔÔÚÕâÀïÓбØÒªÌÖÂÛһϣ¬ÔñÓŶøÓá£
long_goodsÊÇÒ»¸ö°ÙÍòÊý¾ÝµÄ±í£¬Ctrl+LÖ´ÐÐÒÔÏÂÓï¾ä:
--id_indexÊÇÎÒΪÖ÷¼ü¼ÓµÄÒ»¸ö·Ç¾Û½¹Ë÷Òý
SELECT top 1 * from long_goods order by newid()
--²éѯ¿ªÏú 43%
SELECT top 1 * from long_goods with(index=id_index) order by newid()
--²éѯ¿ªÏú 54%
select top 1 * from long_goods where id=(select top 1 id from long_goods order by newid())
--²éѯ¿ªÏú 1%
select top 1 * from long_goods where id=(select top 1 id from long_goods with(index=id_index) order by newid())
--²éѯ¿ªÏú 1%
ËäÈ»µÚÈý¸öÓëµÚËĸöµÄ¿ªÏúÊÇÒ»Ñù£¬µ«Êµ¼ÊÓ¦¸ÃÊǵÚËÄÖÖÓÅÓÚµÚÈýÖÖ¡£
Èç¹ûMS SQL2005Éý¼¶µ½Ö§³Ö TABLESAMPLE µÄ»°£¬ÒÔÏÂÓï¾äµÄ³éÑùÖ´ÐÐЧÂÊ¿ÉΪ×îÓŵÄ
SELECT * from long_goods TABLESAMPLE SYSTEM (10 PERCENT)
ºÇºÇ..ϰàÁË£¬ÖÁÓÚÆäÖÐÔÒò£¬Ï´ÎÓпÕÔÙÐø. ......