counter
counter

SQL2008R2代理服务启动不了

1.MSSQLSERVER的协议:VIA禁用,其余三个协议启用

2.客户端协议:VIA禁用,其余三个协议打开

 

 

 

 

3.下面是关于数据库实现的:

将一个表中的数据插入到另一个表中的存储过程

CREATE PROCEDURE [dbo].[proc_Statics_UserRecordMonth]
(
@year int,
@month int,
@CityId int
)
AS
BEGIN
SET NOCOUNT ON;
insert into 表1(ProcessedInput, InputSpelling ,CityId, CityName, [Year], [Month], ProcessedInputClicks)
select top 100 ProcessedInput,InputSpelling,CityId,CityName,[Year], [Month],count(ProcessedInput) as Clicks from 表2  where [month]=@month and [year]=@year and CityId=@CityId group by ProcessedInput,InputSpelling,[year],[month],CityId,CityName order by Clicks desc
END


GroupBy:

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面
按优先级的

group by 姓名,班级
首先按姓名排序,当姓名相同的时候才按班级排序
sum()  avg()  min()  max() 等
这类都叫聚合函数 

还可以去重,如果有重复数据的话,可以用group by,打个比方
如果表里有一列字段叫id
id
1
1
2
2

select id from 表名 group by id
这样得到的结果只有1和2
这个用法类似于distinct

如果有两列
id name
1   a
2   a
1   a
2   b
select id,name from 表名 group by id,name
结果是
1   a
2   a
2   b
就是去掉两俩完全相同的 


还有一种,也是类似于上边两列数据
select id,name from 表名 group by id,name having count(*)>=2

这样的话,就是找出条数大于等于2的那列,也就是1   a

这个也可以配合其他聚合函数使用,
如
select id,name from 表名 group by id,name having sum(某字段)>=2


posted @ 2012-05-07 14:16  bfy  阅读(2744)  评论(0)    收藏  举报