Sql Server ×Ö·û´®¾ÛºÏº¯Êý
Sql Server ÓÐÈçϼ¸Ö־ۺϺ¯ÊýSUM¡¢AVG¡¢COUNT¡¢COUNT(*)¡¢MAX ºÍ MIN£¬µ«ÊÇÕâЩº¯Êý¶¼Ö»ÄܾۺÏÊýÖµÀàÐÍ£¬ÎÞ·¨¾ÛºÏ×Ö·û´®¡£Èçϱí:AggregationTable
Id Name
1 ÕÔ
2 Ç®
1 Ëï
1 Àî
2 ÖÜ
Èç¹ûÏëµÃµ½ÏÂͼµÄ¾ÛºÏ½á¹û
Id Name
1 ÕÔËïÀî
2 Ç®ÖÜ
ÀûÓÃSUM¡¢AVG¡¢COUNT¡¢COUNT(*)¡¢MAX ºÍ MINÊÇÎÞ·¨×öµ½µÄ¡£ÒòΪÕâЩ¶¼ÊǶÔÊýÖµµÄ¾ÛºÏ¡£²»¹ýÎÒÃÇ¿ÉÒÔͨ¹ý×Ô¶¨Ò庯ÊýµÄ·½Ê½À´½â¾öÕâ¸öÎÊÌâ¡£
1.Ê×ÏȽ¨Á¢²âÊÔ±í£¬²¢²åÈë²âÊÔÊý¾Ý£º
view plaincopy to clipboardprint?
create table AggregationTable(Id int, [Name] varchar(10))
go
insert into AggregationTable
select 1,'ÕÔ' union all
select 2,'Ç®' union all
select 1,'Ëï' union all
select 1,'Àî' union all
select 2,'ÖÜ'
go
create table AggregationTable(Id int, [Name] varchar(10))
go
insert into AggregationTable
select 1,'ÕÔ' union all
select 2,'Ç®' union all
select 1,'Ëï' union all
select 1,'Àî' union all
select 2,'ÖÜ'
go
2.´´½¨×Ô¶¨Òå×Ö·û´®¾ÛºÏº¯Êý
view plaincopy to clipboardprint?
Create FUNCTION AggregateString
(
@Id int
)
RETURNS varchar(1024)
AS
BEGIN
declare @Str varchar(1024)
set @Str = ''
select @Str = @Str + [Name] from AggregationTable
where [Id] = @Id
return @Str
END
GO
Create FUNCTION AggregateString
(
@Id int
)
RETURNS varchar(1024)
AS
BEGIN
declare @Str varchar(1024)
set @Str = ''
select @Str = @Str + [Name] from AggregationTable
where [Id] = @Id
return @Str
END
GO
3.Ö´ÐÐÏÂÃæµÄÓï¾ä£¬²¢²é¿´½á¹û
view plaincopy to clipboardprint?
select dbo.Aggregate
Ïà¹ØÎĵµ£º
¶¯Ì¬Óï¾ä
1 :ÆÕͨSQLÓï¾ä¿ÉÒÔÓÃexecÖ´ÐÐ
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- Çë×¢Òâ×Ö·û´®Ç°Ò»¶¨Òª¼ÓN
2:×Ö¶ÎÃû£¬±íÃû£¬Êý¾Ý¿âÃûÖ®Àà×÷Ϊ±äÁ¿Ê±£¬±ØÐëÓö¯Ì¬SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fnam ......
×òÌìŪÁËÒ»¸ö±È½Ï¼¬ÊÖµÄÎÊÌâ¡£´ÓÍøÉÏÏÂÔØÁËÒ»¸öÈí¼þ£¬ËûµÄÊý¾Ý¿âÊÇaccessµÄ£¬´ò¿ª¿´ÁËһϣ¬¸Ð¾õ²»´í£¬ÊʺÏÎÒÏÖÔÚÏîÄ¿µÄÐèÇ󣬴󲿷ÖÄܹ»Âú×ãÎÒµÄÏîÄ¿ÐèÒª£¬¾ÍÏëÄÃÀ´Ö÷Òå¡£¿ÉÊÇÎÒÃÇÏîÄ¿µÄÊý¾Ý¿âÒ»Ö±¶¼ÊÇÓõÄsqlserver£¬ÓÚÊÇ£¬¾ÍÔÚÍøÉÏ·è¿ñµÄ£¬ÕÒ¹ØÓÚaccessת»»ÎªsqlserverµÄ×ÊÁÏÔÚÕâÀïÎÒÏë˵һÏÂÓйصÄ×¢ÒâÊÂÏ
Êý¾Ý¿âÉý ......
--------------------------------------------------------------------
-- ×÷ÕߣºÕŰ®¹ú
-- ÈÕÆÚ£º2010-01-23 15:00:17
-- ÃèÊö: һЩ±È½ÏÓÐÒâ˼µÄSQLÓï¾ä
-- Version:
-- Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)
-- Feb 9 2007 22:47:0 ......
½ñÌìÎÒѧϰÁËsqlµÄ¼òµ¥²éѯÓï¾ä£¬
һЩ»ù±¾µÄ¸ÅÄ
1 ϵͳȨÏÞ£ºÊý¾Ý¿âÖеĶÔÏó£¬ ±í£¬´´½¨±í£¬É¾³ý±í
2 ¶ÔÏóȨÏÞ£º¶ÔÊý¾ÝµÄÔö¡¢É¾¡¢¸Ä¡¢²é¡ ......
select *
from
(select [id]=row_number() over (order by getdate()),
date=convert(varchar(8),dateadd(dd,number,'2010-01-01'),112)
from
(select number from master..spt ......