繁体   English   中英

SQL Server 2008 R2,查询在65536行后退出

[英]SQL Server 2008 R2, Query exiting after 65536 rows

如标题所示,SQL Server 2008 R2面临一个特殊问题。 我目前正在Analytics(分析)项目中使用庞大的数据集,每个表中几乎有100万行。 现在的问题是,如果我使用普通的select语句(如Select * from Table ...)运行查询,则可以得到整个表的结果,即使条件满足的情况下也能得到理想的结果。

但是,只要在查询中使用任何聚合函数,我就只会得到65536行,此后查询将退出。 现在,我百分之百确定结果集比返回的结果集大得多。 在提出问题之前,我尝试了一些步骤。 1)尝试在SQL Server Management Studio的Options中将结果增加到网格大小,最大值为65536。2)使用查询导出为CSV。 行的总数是65536。3)导出到Excel。

请指导我我在做什么错。

作为参考,我发布了遇到此问题的SQL查询。

选择a.Store,a.Seq_Item,MIN(a.Date)StartDate,MAX(a.Date)EndDate,SUM(a.Transaction_Items)tot_sales,COUNT(a.Transaction_Items)tot_sales_day,(DATEDIFF(DAY,MIN(a。日期),MAX(a.Date))+ 1)actual_days,ROUND(SUM(a.Transaction_Items)/ CAST(COUNT(a.Transaction_Items)为float),2)avg_sales_per_sales_day,ROUND(SUM(a.Transaction_Items)/ CAST ((DATEDIFF(DAY,MIN(a.Date),MAX(a.Date))+ 1)为浮点数),2)avg_sales_per_actual_day,round((ROUND(SUM(a.Transaction_Items)/ CAST(COUNT(a.Transaction_Items )作为float),2)/ ROUND(SUM(a.Transaction_Items)/ CAST((DATEDIFF(DAY,MIN(a.Date),MAX(a.Date))+ 1)as float),2)),2 )sales_day_velocity,ROUND(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)作为float),2)),2),0)类别来自Store129 a.Seq_Item组,a.Store order通过a.Seq_Item

现在,我正在Amazon Server托管环境中工作,并且可以选择将SQL Server版本升级到Standard Edition。 目前是Express版本。 现在,如果我升级,那可以解决我的问题。

此致,Arindom Ray Chaudhuri

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

这是一个批处理大小,因此可能尝试将结果加载到临时表中,然后从中查询。 可能不是完美的解决方案。

由于缺乏要点,请原谅我的“答案”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM