[札记]SQL Server上的几个表创建和查询分析语句

来源:互联网 发布:nba2k17姚明捏脸数据 编辑:程序博客网 时间:2024/05/16 18:24

前几天在统计数据的时候由于一贯不使用SQL Server,所以遇到了点问题,这里记录一下,以防再入坑。


1、使用SQL Server Manager进行查询时不要直接select * from a ,需要加上限制显示条数的关键字,如下:

<span style="font-size:14px;">select top 12 * from marketing_statistical_data;</span>

2、复制表结构与数据,不同于Oracle,不能使用 create table a as select * from b 这种模式:

复制表结构:

<span style="font-size:14px;">select * into marketing_statistical_data_res from marketing_statistical_data where 1=2;</span>

复制表结构以及数据:

<span style="font-size:14px;">select * into marketing_statistical_data_res from marketing_statistical_data;</span>

3、导入Excel表数据后的表作为源表与对比表进行相关数据分析后得出相关限制条件满足的数据的条数后再插入统计表中。需要注意的是,导入数据时需要对Excel相关数据的格式做好调整,否则会出现各种奇葩问题。至于使用其他格式,对于元数据为Excel时会更头痛此处不赘述。

<span style="font-size:14px;">insert into marketing_statistical_data_res  select CONVERT(varchar(12) , a.callingtime, 102 ),a.agentid,a.name,a.area,a.organize,a.callingnum,COUNT(*) from marketing_statistical_data a left join (select * from cc_agentcalldetail_bak t where t.callendtime>'2015-12-31') bon a.agentid=b.agentid and a.callingnum=b.callednumber and CONVERT(varchar(12) , a.callingtime, 102 )=CONVERT(varchar(12) , b.callendtime, 102 ) group by CONVERT(varchar(12) , a.callingtime, 102 ), a.agentid,a.name,a.area,a.organize,a.callingnum;</span>





0 0
原创粉丝点击