临时表聚合sqlserver 用到临时表去除重复列

文章结束给大家来个程序员笑话:[M]

    做当数据询查时须要分组,因为只有一列不同,同时还须要留保不同的列,使其不能受到影响。这时用 distinct 和 group by 就不能解决问题了。

    就须要用到 临时表 来做到想要的结果。

    

    // 先把稍后用到的临时表从临时数据库中除删。

 if object_id('tempdb..#temp_table') is not null

 Begin 
      drop table #temp_table
 End

    

    // 把从数据表中查出的数据放到临时表中 。注意此处 identity 的应用 ,它是一个自增的变量,可认为每一列分一个由大到小的 int 型值 。

    //因为用到了 order by 排序,因此在第三步时用 min()聚合数函就会出取须要的那条记载。

    每日一道理
春蚕死去了,但留下了华贵丝绸;蝴蝶死去了,但留下了漂亮的衣裳;画眉飞去了,但留下了美妙的歌声;花朵凋谢了,但留下了缕缕幽香;蜡烛燃尽了,但留下一片光明;雷雨过去了,但留下了七彩霓虹。

    select top 60 identity(int,1,1) id ,name, factoryname,catalogname,file_name,img2 into #temp_table 
 from tableName order by view_count desc

    

    // 在这就可以用 min(id) 聚合数函来出取结果集

    select top 6 * from #temp_table where id in(
select min(id) from #temp_table group by factoryname )

    

文章结束给大家分享下程序员的一些笑话语录:  一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。

posted @ 2013-05-08 19:52  xinyuyuanm  阅读(349)  评论(0编辑  收藏  举报