欧点?sqlfiddle.com的管理员-谢谢! DECLARE @DaysBack AS INT SET @DaysBack = -25 SET NOCOUNT ON; SELECT FileDate, MAX(FileName)

欧点?sqlfiddle.com的管理员-谢谢! DECLARE @DaysBack AS INT SET @DaysBack = -25 SET NOCOUNT ON; SELECT FileDate, MAX(FileName) ,sql,sql-server,tsql,Sql,Sql Server,Tsql,欧点?sqlfiddle.com的管理员-谢谢! DECLARE @DaysBack AS INT SET @DaysBack = -25 SET NOCOUNT ON; SELECT FileDate, MAX(FileName) FROM ( SELECT CONVERT(VARCHAR(10),DATEADD(second,actiondate, CAST('1970-01-01 00:00:00' AS datetime)), 101) AS F

欧点?sqlfiddle.com的管理员-谢谢!
DECLARE @DaysBack AS INT
SET @DaysBack = -25


    SET NOCOUNT ON;

    SELECT FileDate, MAX(FileName)  FROM (
    SELECT 
    CONVERT(VARCHAR(10),DATEADD(second,actiondate, CAST('1970-01-01 00:00:00' AS datetime)), 101) AS FileDate

    ,'\\directory\' + filename AS FileName
    FROM   Tableq q
    JOIN tablec c
    on  q.projectid = c.projectid
           AND actiondate >= Datediff(s, '19700101 00:00:00:000',
                             Dateadd(DAY, @DaysBack, Getutcdate()))


    ) x

    GROUP BY FileDate
    ORDER  BY FileDate 
DECLARE @DaysBack AS INT
SET @DaysBack = -25

SET NOCOUNT ON;

SELECT
  FileDate, FileName
FROM
(
  SELECT 
    DATEADD(DAY, actiondate / 86400, '19700101') AS FileDate,
    '\\\\directory\\' + filename AS FileName,
    ROW_NUMBER() OVER (PARTITION BY actiondate / 86400 ORDER BY NEWID()) AS random_daily_id
FROM
  Tableq q
JOIN
  tablec c
    ON  q.projectid = c.projectid
    AND actiondate >= Datediff(s, '19700101', Dateadd(DAY, @DaysBack, Getutcdate()))
) x
WHERE
  random_daily_id <= 50
ORDER BY
  FileDate 
SELECT FileDate, MAX(FileName)
FROM (select x.*,
             ROW_NUMBER() over (partition by FileDate order by newid()) as seqnum
      from (SELECT CONVERT(VARCHAR(10),DATEADD(second,actiondate, CAST('1970-01-01 00:00:00' AS datetime)), 101
                          ) AS FileDate,
                   '\\directory\' + filename AS FileName
            FROM   Tableq q JOIN
                   tablec c
                   on  q.projectid = c.projectid and
                       actiondate >= Datediff(s, '19700101 00:00:00:000',
                                     Dateadd(DAY, @DaysBack, Getutcdate()))
           ) x
     ) x
where seqnum <= 50
ORDER  BY FileDate