注册 登录
编程论坛 SQL Server论坛

报错如题:The query could not be executed in the allotted memory.

刘七七 发布于 2020-10-21 14:02, 1205 次点击
以下query, 需要在倒数第二行增加一个或者条件,使其变为:

“WHERE ROW_COUNT = 2 or ROW_COUNT =1 and (DAYOFWEEK(SNAPSHOT_TIMESTAMP) = 7 or SNAPSHOT_TIMESTAMP = MAX_SNAPSHOT_DT))”

但是写完就报错如题:The query could not be executed in the allotted memory.  求解求解求解~

SELECT InputIMEI, InputCarrier, InputProgramName, InputStoreID, InputAddress, InputCity, InputState, InputZip, ActivationDate, LastLoginDate, DeviceStatus, ActiveDeviceCnt, DeviceMatchCnt, TotalIMEIs, TotalActivatedIMEI, LatestDeviceEventTime
, a.SNAPSHOT_TIMESTAMP as SNAPSHOT_TIMESTAMP, MAX(a.SNAPSHOT_TIMESTAMP) OVER () as MAX_SNAPSHOT_DT, b.SNAPSHOT_DATE as SNAPSHOT_DATE
FROM [] a
JOIN
((SELECT * FROM
  (SELECT SNAPSHOT_TIMESTAMP
    , DATE(SNAPSHOT_TIMESTAMP) as SNAPSHOT_DATE
    , COUNT(SNAPSHOT_TIMESTAMP) OVER (PARTITION BY SNAPSHOT_DATE ORDER BY SNAPSHOT_TIMESTAMP) as ROW_COUNT
    , MAX(SNAPSHOT_TIMESTAMP) OVER () as MAX_SNAPSHOT_DT
  FROM []
  WHERE DATE(SNAPSHOT_TIMESTAMP) >= '2019-03-01'
  GROUP BY 1,2 order by 1 desc)
WHERE ROW_COUNT = 2 and (DAYOFWEEK(SNAPSHOT_TIMESTAMP) = 7 or SNAPSHOT_TIMESTAMP = MAX_SNAPSHOT_DT))
) b
ON a.SNAPSHOT_TIMESTAMP = b.SNAPSHOT_TIMESTAMP
0 回复
1