2014-09-01 69 views
0

正如标题所说,我正面临着SQL Server 2008 R2的一个特殊问题。 我目前正在使用Analytics(分析)项目中的巨大数据集,每个表中近100万行。现在的问题是,如果我使用普通的select语句运行查询,如 Select * from Table ...给我整个表的结果,甚至在哪里条件给出了完美的结果。SQL Server 2008 R2,查询65536行后退出

但是,只要我在查询中使用任何聚合函数,那么我只能获得65536行,之后查询正在退出。现在我百分之百肯定结果集比返回的结果集大得多。 在提出问题之前我尝试了几个步骤。 1)尝试在SQL Server Management Studio的选项中将结果增加到网格大小。最大值为65536 2)使用查询导出到CSV。总行数为65536 3)导出到Excel ..同样的问题。

请指导我,我做错了什么。

仅供参考,我发布了SQL Query,为此我收到了此问题。

选择a.Store,a.Seq_Item,MIN(a.Date)起始日期,MAX(a.Date)结束日期,SUM(a.Transaction_Items)TOT_SALES, COUNT(a.Transaction_Items)tot_sales_day,(DATEDIFF(DAY ,MIN(a.Date),MAX(a.Date))+ 1)actual_days, ROUND(SUM(a.Transaction_Items)/ CAST(COUNT(a.Transaction_Items)as float),2)avg_sales_per_sales_day, ROUND (a.Transaction_Items)/ CAST((DATEDIFF(DAY,MIN(a.Date),MAX(a.Date))+ 1)as float),2)avg_sales_per_actual_day, round((ROUND(SUM(a.Transaction_Items) /CAST(COUNT(a.Transaction_Items)as float),2)/ ROUND(SUM(a.Transaction_Items)/ CAST((DATEDIFF(DAY,MIN(a.Date),MAX(a.Date))+ 1) (round((ROUND(SUM(a.Transaction_Items))/ CAST(COUNT(a.Transaction_I()),2)),2)sales_day_velocity, ROUND 2)/ ROUND(SUM(a.Transaction_Items)/ CAST((DATEDIFF(DAY,MIN(a.Date),MAX(a.Date))+ 1)as float),2)) 2),0)类别 从 Store129一个 组由a.Seq_Item,a.Store为了通过a.Seq_Item

现在,我在亚马逊的服务器托管工作环境,并有升级我的SQL的选择服务器版本转换为标准版。目前它是Express版本。现在,如果我升级,是否可以解决我的问题。

问候, Arindom雷乔杜里

+1

通常的查询会给你很多结果不会执行,因为实际加载结果会花费相当多的时间和内存。如果您在某种视图中使用这些结果,则可能需要在查询本身中构建分页参数 – Batavia 2014-09-01 10:59:29

+0

Hi Batavia,感谢您的回复。您能否详细说明这一点,如果我开始处理观点,我需要采取哪些步骤。 – 2014-09-01 11:17:45

+0

我尝试创建一个视图,并且出现如下错误: 除非还指定了TOP或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效。 – 2014-09-01 11:19:21

回答

1

http://msdn.microsoft.com/en-us/library/ms143432.aspx

这是一个批量大小,所以也许尝试加载结果到一个临时表,然后从中查询。可能不是完美的解决方案。

请原谅我的'答案'我不能评论,因为缺乏积分。

+0

我试图得到结果到另一个表,同样的问题,那个新表格只有65536行。如果这是一些SQL Server授权问题,我肯定会寻找更高版本,但首先我需要知道它是否是授权问题。 – 2014-09-02 10:25:55

+0

可以请你试试这个。这将确保行被批量插入。 /*'声明@count的int设置@count = 1,而@count> 0开始INSERT INTO newtable的<选择特殊照顾这里声明,确保您只选择顶部(10000)>设置@count = @@ ROWCOUNT结束* /' 希望这可以帮助 – user3300750 2014-09-04 14:34:24

+0

嗨你有这个纠正?! – user3300750 2014-09-05 13:48:17