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

sql group by Óë havingµÄÓ÷¨

1. GROUP BY ÊÇ·Ö×é²éѯ, Ò»°ã GROUP BY ÊǺ;ۺϺ¯ÊýÅäºÏʹÓÃ
group by ÓÐÒ»¸öÔ­Ôò,¾ÍÊÇ select ºóÃæµÄËùÓÐÁÐÖÐ,ûÓÐʹÓþۺϺ¯ÊýµÄÁÐ,±ØÐë³öÏÖÔÚ group by ºóÃæ£¨ÖØÒª£©
ÀýÈç,ÓÐÈçÏÂÊý¾Ý¿â±í£º
A    B
1    abc
1    bcd
1    asdfg
 Èç¹ûÓÐÈçϲéѯÓï¾ä£¨¸ÃÓï¾äÊÇ´íÎóµÄ£¬Ô­Òò¼ûÇ°ÃæµÄÔ­Ôò£©
select A,B from table group by A

¸Ã²éѯÓï¾äµÄÒâͼÊÇÏëµÃµ½ÈçϽá¹û(µ±È»Ö»ÊÇÒ»ÏàÇéÔ¸)
A     B
       abc
1     bcd
       asdfg 
ÓÒ±ß3ÌõÈçºÎ±ä³ÉÒ»Ìõ,ËùÒÔÐèÒªÓõ½¾ÛºÏº¯Êý£¬ÈçÏÂ(ÏÂÃæÊÇÕýÈ·µÄд·¨):
select A,count(B) as ÊýÁ¿ from table group by A
ÕâÑùµÄ½á¹û¾ÍÊÇ
A    ÊýÁ¿
1    3 
2. Having
where ×Ó¾äµÄ×÷ÓÃÊÇÔÚ¶Ô²éѯ½á¹û½øÐзÖ×éǰ£¬½«²»·ûºÏwhereÌõ¼þµÄÐÐÈ¥µô£¬¼´ÔÚ·Ö×é֮ǰ¹ýÂËÊý¾Ý£¬Ìõ¼þÖв»Äܰüº¬¾Û×麯Êý£¬Ê¹ÓÃwhereÌõ¼þÏÔÊ¾ÌØ¶¨µÄÐС£
having ×Ó¾äµÄ×÷ÓÃÊÇɸѡÂú×ãÌõ¼þµÄ×飬¼´ÔÚ·Ö×éÖ®ºó¹ýÂËÊý¾Ý£¬Ìõ¼þÖо­³£°üº¬¾Û×麯Êý£¬Ê¹ÓÃhaving Ìõ¼þÏÔÊ¾ÌØ¶¨µÄ×飬Ҳ¿ÉÒÔʹÓöà¸ö·Ö×é±ê×¼½øÐзÖ×é¡£
having ×Ӿ䱻ÏÞÖÆ×ÓÒѾ­ÔÚSELECTÓï¾äÖж¨ÒåµÄÁк;ۺϱí´ïʽÉÏ¡£Í¨³££¬ÄãÐèҪͨ¹ýÔÚHAVING×Ó¾äÖÐÖØ¸´¾ÛºÏº¯Êý±í´ïʽÀ´ÒýÓþۺÏÖµ£¬¾ÍÈçÄãÔÚSELECTÓï¾äÖÐ×öµÄÄÇÑù¡£ÀýÈ磺
SELECT A COUNT(B) from TABLE GROUP BY A HAVING COUNT(B)>2

Àý×Óeg£º
ÎÊÌ⣺
Óбí¸ñÈçÏ£º
create table workers(id int primary key,name varchar(12),department varchar(12),salary int,releaseDay date);
Ϊ
id ±àÂë
name ÐÕÃû
department ²¿ÃÅ
salary ¹¤×Ê
releaseDay ·¢·ÅÈÕÆÚ ¸ñʽ 2009-10-10
ÏÖÔÚÒªÇóд³ösqlÓï¾ä£º
ÕÒ³öÔø¾­ÔÚÈκÎÒ»¸öÔ·¢ÁËÁ½´Î»òÕßÁ½´Î¹¤×ÊÒÔÉϵÄÔ±¹¤ÐÅÏ¢£¬µ±Ô¹¤×Ê·¢·Å´ÎÊý£¬¹¤×Ê×ÜÊý£¬·¢·ÅÔ·ݣ»
½â´ð£º
create table ty_workers
(
id int primary key,
name varchar(12),
department varchar(12),
salary int,
releaseDay date
);
select * from ty_workers
select name ÐÕÃû, count(salary) ·¢·Å´ÎÊý , sum(salary) ·¢·Å×ܶî, substr(to_char(releaseDay,'yyyy-mm-dd'),0,7) ·¢·ÅÔ·Ý, department ²¿ÃÅ
from ty_workers
gr


Ïà¹ØÎĵµ£º

sqlÓïÑÔ

select *from customers
 
select *from orders
 
select customers.cust_id, orders.order_num  from customers inner join orders on customers.cust_id=orders.cust_id
 
select customers.cust_id, orders.order_num  from customers left outer join orders on customers.cust_id=orde ......

Sql helperʹÓ÷½·¨

    public List<FirmAttachmentModel> LoadFirmAttachmentByFirmId(int FirmId, int pageIndex, int pageSize)
        {
            List<FirmAttachmentModel> result = new List<FirmAtt ......

SQL server 2008 ´´½¨Ö÷¼üΪ×ÔÔöÁеıí

ʹÓÃTranact-SQL ±àд´úÂëÀ´´´½¨Ò»¸öÐÂ±í£º
 
USE [OnlineJudge]
GO
/****** Object: Table [dbo].[User1] Script Date: 05/17/2010 14:05:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User2](/*notice convert the tablename*/
[num] [int]IDENTITY(1,1) NOT N ......

ORACLEÖÐÓÃrownum·ÖÒ³²¢ÅÅÐòµÄSQLÓï¾ä

µÚÒ»ÖÖ£º 
select b.* from
 ( select a.*, rownum row_num from
   (select t.* from A05_ORGANIZATION t order by org_name_en asc) a
  ) b
 where b.row_num  between 1 and 5  order by b.row_num asc
µÚ¶þÖÖ£¨¸ü¸ßЧ£©£º
select b.* from
 ( select a.*, rown ......

SQL SERVER¶¨Ê±×÷ÒµµÄÉèÖ÷½·¨

 Èç¹ûÔÚSQL Server ÀïÐèÒª¶¨Ê±»òÕßÿ¸ôÒ»¶Îʱ¼äÖ´ÐÐij¸ö´æ´¢¹ý³Ì»ò3200×Ö·ûÒÔÄÚµÄSQLÓï¾äʱ, ¿ÉÒÔÓùÜÀí->SQL Server´úÀí->×÷ÒµÀ´ÊµÏÖ¡£
¡¡¡¡1¡¢¹ÜÀí->SQL Server´úÀí->×÷Òµ(°´Êó±êÓÒ¼ü)->н¨×÷Òµ
¡¡¡¡2¡¢Ð½¨×÷ÒµÊôÐÔ(³£¹æ)->Ãû³Æ[×Ô¶¨Òå±¾´Î×÷ÒµµÄÃû³Æ]->ÆôÓõķ½¿òÄÚÊǹ´ºÅ->
·ÖÀà´¦¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ