home *** CD-ROM | disk | FTP | other *** search
/ moodle.waes.ac.uk / moodle.waes.ac.uk.zip / moodle.waes.ac.uk / TMG / SP1-TMG-KB981324-AMD64-ENU.msp / PCW_CAB_SHFx2 / F2143_msfpcui.dll / BINARY / 25183 < prev    next >
Text File  |  2010-06-15  |  2KB  |  54 lines

  1. CREATE PROCEDURE [dbo].[ISA_spTrimArrayDroppedUserSummary]
  2.     @FromDate datetime,
  3.     @ToDate   datetime
  4. AS
  5. BEGIN
  6.     SET NOCOUNT ON;
  7.     IF OBJECT_ID ('tblDroppedUserSummary_Daily', 'u') IS NULL
  8.         RETURN
  9.     -- create #table1 empty table copy
  10.     SELECT TOP(0) * INTO #Table1 FROM [tblDroppedUserSummary_Daily]
  11.     DELETE FROM [tblDroppedUserSummary_Daily]
  12.     OUTPUT DELETED.* INTO #Table1
  13.     WHERE ([Date] >= @FromDate) AND ([Date] < @ToDate)
  14.     SELECT
  15.         [UserName] AS UserName,
  16.         SUM([DroppedPackets]) AS DroppedPackets,
  17.         [Date] AS Date
  18.     INTO #TableOrig
  19.     FROM #Table1
  20.     GROUP BY
  21.         [UserName],
  22.         [Date]
  23.     TRUNCATE TABLE #Table1
  24.     INSERT INTO #TABLE1
  25.     SELECT *
  26.     FROM (
  27.         SELECT
  28.             [UserName], [DroppedPackets], [Date]
  29.         FROM (
  30.             SELECT
  31.                 [UserName], [DroppedPackets], [Date],
  32.                 ROW_NUMBER() OVER (PARTITION BY [Date] ORDER BY [DroppedPackets] DESC) AS rownum
  33.                 FROM #TableOrig
  34.                 WHERE [UserName] != N'{[23124]}'
  35.             ) t
  36.         WHERE rownum <= 10000
  37.         ) ttt
  38.     ---- now add tail
  39.     INSERT INTO #TABLE1
  40.     SELECT
  41.         N'{[23124]}', SUM([DroppedPackets]), [Date]
  42.     FROM #TableOrig ttt
  43.     WHERE
  44.         [UserName] IS NOT NULL AND
  45.         NOT EXISTS (SELECT *
  46.                     FROM #Table1
  47.                     WHERE ttt.[UserName] = [UserName] AND
  48.                         ttt.[Date] = [Date])
  49.     GROUP BY [Date]
  50.     INSERT INTO [tblDroppedUserSummary_Daily]
  51.     SELECT *
  52.     FROM #TABLE1
  53. END
  54.