SQLÓïÑÔ»ù´¡£¨3£©
GROUP BY×Ó¾ä
Ö¸¶¨²éѯ½á¹ûµÄ·Ö×éÌõ¼þ
Óï·¨£ºGROUP BY [ALL] group_by_expression_r_r [,n]
[WITH{CUBE|ROLLUP}]
group_by_expression_r_rÖ¸Ã÷·Ö×éÌõ¼þ£¬Í¨³£ÊÇÒ»¸öÁÐÃû£¬µ«²»ÄÜÊÇÁеıðÃû¡£
ALL·µ»ØËùÓвéѯ½á¹ûµÄ×éºÏ¡£Èç¹ûûÓÐÂú×ãwhere×Ó¾äµÄÊý¾ÝÔòÓÉNULLÖµ¹¹³ÉÊý¾Ý¡£ALLµÄÑ¡Ïî²»ÄÜÓëcube»òrollupÑ¡ÏîͬʱʹÓá£
cube£º³ýÁË·µ»ØÓÉGROUP BYÖ¸¶¨µÄÁÐÍ⣬»¹·µ»Ø°´×éͳ¼ÆµÄÐС£·µ»Ø½á¹ûÏȰ´µÚÒ»¸öÌõ¼þÁÐÅÅÐòÏÔʾ£¬ÔÙ°´µÚ¶þ¸öÌõ¼þÁÐÅÅÐòÏÔʾ£¬ÒÔ´ËÀàÍÆ¡£Í³¼ÆÁаüÀ¨Á˸÷ÖÖ×éºÏµÄÊý¾Ýͳ¼Æ¡£
rollup£º¶ÔGROUP BYÖÐÁеÄ˳ÐòÃô¸Ð£¬Ö»·µ»ØµÚÒ»¸ö·Ö×éÌõ¼þÖ¸¶¨µÄÁеÄͳ¼ÆÐУ¬¸Ä±äÁеÄ˳Ðò»áʹ·µ»ØµÄ½á¹ûµÄÐÐÊý·¢Éú±ä»¯¡£
×¢ÒâʹÓÃgroup by×Ó¾äʱºóÃæµÄ±äÁ¿ÒªºÍselectºóÏàÒ»Ö£¬Ã»Óаüº¬ÔھۺϺ¯ÊýÖеıäÁ¿¶¼Ó¦¸Ã×÷Ϊgroup byºóµÄ±äÁ¿¡£
HAVING ×Ó¾äÖ¸¶¨·Ö×éËÑË÷Ìõ¼þ¡£Í¨³£ºÍgroup byÒ»ÆðʹÓÃ
HAVING×Ó¾äºÍWHEREºÜÏàËÆ£¬µ«WHERE×Ó¾ä×÷ÓÃÓÚ±íºÍÊÓͼ£¬HAVING×Ó¾ä×÷ÓÃÓÚ×é¡£
SELECT DEPT_ID,COUNT(*)
from EMPLYEE
WHERE E_WAGE>=6000
GROUP BY DEPT_ID
HAVING COUNT(*)>1;ÆäÖÐCOUNT(*)±íʾÂú×ãÌõ¼þµÄÔªËØ¸öÊý¡£
ORDER BY×Ӿ䣬ָ¶¨²éѯ½á¹ûµÄÅÅÐò·½Ê½£¬Ä¬ÈÏÉýÐòASC½µÐòDESC
²éѯ¹¤×Ê×î¸ßµÄÈýÃûÔ±¹¤
select top 3 e_name,e_wage
from employee
order by e_wage desc;
compute×Ӿ䣺ÔÚ²éѯ½áβµÄĩβÉú³ÉÒ»¸ö»ã×ÜÊý¾ÝÐС£
compute{{AVG|COUNT|MAX|MIN|SUM} (expression_r_r [...,n]) [by expression_r_r[...,n]]}ÕâЩº¯Êý»áºöÂÔNULLÖµ£¬²¢ÇÒDISTINCTÑ¡Ïî²»ÄÜÔÚ´ËʹÓá£
expression_r_r±ØÐë°üº¬ÔÚselectµÄÑ¡ÏîÀ²¢ÇÒ²»ÄÜʹÓñðÃû¡£
by expression_r_rÔÚ²éѯ½á¹ûÖÐÉú³É·ÖÀàͳ¼ÆµÄÐУ¬Èç¹ûʹÓ㬱ØÐëʹÓÃorder by×Ӿ䣬expression_r_r¶ÔÓ¦order by×Ó¾äµÄÒ»²¿·Ö»òÈ«¼¯¡£
È磺select Ô±¹¤ÐÕÃû£¬ËùÊô²¿ÃÅ£¬¹¤×Ê
from Ô±¹¤Êý¾Ý±í
order by ËùÊô²¿ÃÅ
compute sum(¹¤×Ê) by ËùÊô²¿ÃÅ
½á¹û»á³öÏÖÔÚÿ¸öËùÊô²¿ÃÅ·Ö×éºóÓÐÒ»¸ö¼ÆËãsumµÄÐÐ
¾ÛºÏº¯Êý£ºAVG,SUM,MIN,MAX,COUNT
COUNT(*)¼ÆËã±íÖеÄÐÐÊý£¬Ò»ÑùµÄ¶¼¼ÆËãÉÏ¡£COUNT(DISTINCT)¼ÆË㲻ͬµÄÐÐÊý
»ã×ܺ¯ÊýºöÂÔNULLÖµ¡£
ÒÔÉϼ¸¸ö×Ó¾äÖÐÊý¾ÝÀàÐͲ»ÄÜΪtext£¬ntext£¬image»òbitÀàÐÍ¡£
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
if(query.getIsScrapAlert()!=null&&query.getIsScrapAlert()==1){
//criteria.add(Expression.sql(" add_months(this_.D_RECEIVE_DATE,this_.N_DEPRECIABLE_LIFE*12)<add_months(sysdate,-3) "));
criteria.add(Expression.sql(" ((add_months(this_. ......
1.SqlServer·þÎñʹÓÃÁ½¸ö¶Ë¿Ú£ºTCP-1433¡¢UDP-1434¡£ÆäÖÐ1433ÓÃÓÚ¹©SqlServer¶ÔÍâÌṩ·þÎñ£¬1434ÓÃÓÚÏòÇëÇóÕß·µ»ØSqlServerʹÓÃÁËÄǸöTCP/IP¶Ë¿Ú¡£
¿ÉÒÔʹÓÃSQL ServerµÄÆóÒµ¹ÜÀíÆ÷¸ü¸ÄSqlServerµÄĬÈÏTCP¶Ë¿Ú¡£·½·¨ÈçÏ£º
a¡¢´ò¿ªÆóÒµ¹ÜÀíÆ÷£¬ÒÀ´ÎÑ¡Ôñ×ó²à¹¤¾ßÀ¸µÄ“Microsoft SQL Servers - SQL Server×锣¬ ......
ÉÏÍøÒ»²é£¬SQL server2008¶¼³öÀ´ÁË£¬ÎÒ»¹ÊÇÏÈ´Ó»ù´¡µÄѧÆð°É¡£
SQL server2000µÄ³£¼û°æ±¾ÓУºÆóÒµ°æ¡¢±ê×¼°æ¡¢¸öÈ˰桢¿ª·¢°æ¡£
ÆóÒµ°æ£º¹¦ÄÜÈ«Ãæ£¬Ó¦ÓÃÓÚ´óÖÐÐͲúÆ··þÎñ´¦ÀíÆ÷£¬Ö§³Ö´óÐÍÍøÕ¾¡¢Áª»úÊÂÎñ´¦Àí£¬Áª»ú·ÖÎö´¦ÀíµÄÐÔÄÜ¡£
±ê×¼°æ£ºÊÊÓÃÓÚСÐ͹¤×÷×飬²»Ö§³Ö´óÐÍÊý¾Ý¿â£¬Êý¾Ý²Ö¿âºÍÍøÕ¾µÄ¹¦ÄÜ£¬¶øÇÒ²»Ö§³ÖËùÓÐ¹Ø ......
¶ÔÏóÃüÃûµÄÔ¼¶¨£ºÊý¾Ý¿âÃû.ËùÓÐÕßÃû.¶ÔÏóÃû
ǰÁ½Õß¿ÉÊ¡ÂÔ£¬Ä¬ÈÏÖµÊý¾Ý¿âÊǵ±Ç°Êý¾Ý¿â£¬ËùÓÐÕßÊÇdbo
±ðÃû£ºÊý¾Ý¿âÃû³Æ as Êý¾Ý¿â±íÃû Ö÷ÒªÊÇÔö¼ÓselectÓï¾äµÄ¿É¶ÁÐÔ£¬Èç¹ûÒѾΪÊý¾Ý±íÖÆ¶¨Á˱ðÃû£¬Ôò
ÔÚÏàÓ¦µÄSQLÓï¾äÖУ¬¶Ô¸ÃÊý¾Ý±íµÄËùÓÐÏÔʾÒýÓö¼ÒªÊ¹ÓñðÃû£¬¶ø²»ÄÜʹÓÃÊý¾Ý±íÃû¡£
selectÓï¾äÊÇÊý¾Ý¼ìË÷ÖÐ×îÆµ·±µÄ»î¶ ......