从记录中获取最大价值

艾曼

以下查询计算员工在一家商店工作的天数:

SELECT 
    Outlet.Code,
    COUNT(DISTINCT (LogDate)) AS [Worked Days],
    AccessLog.EmployeeID AS [Employee ID],
    abr AS Outlet,
    GEmp.Name,
    Outlet.Brands
FROM 
    [dbo].[AccessLog]
INNER JOIN 
    dbo.Outlet ON dbo.Outlet.Code = dbo.AccessLog.TerminalID
INNER JOIN 
    dbo.GEmp ON dbo.GEmp.EmpCode = dbo.AccessLog.EmployeeID
WHERE 
    CONVERT(datetime, [LogDate]) BETWEEN '2017/10/01' AND '2017/10/31' 
    AND Outlet.Brands = 'brand1'
    AND [dbo].[AccessLog].InOut = '0'
GROUP BY 
    AccessLog.EmployeeID,
    dbo.Outlet.abr,
    GEmp.Name,
    dbo.Outlet.Brands, dbo.Outlet.Malls, Outlet.Code
ORDER BY 
    Outlet.Malls, GEmp.Name

输出:

Code    Worked Days Employee ID Outlet  Name    Brands
-------------------------------------------------------
20019   16          362573      shop1   john    brand1
20038    3          362573      shop2   john    brand1
20038    5          362574      shop1   mike    brand1
20038    1          362574      shop2   mike    brand1

我希望获得他为每个员工工作更多天的商店,因此所需的输出应该是:

Code    Worked Days Employee ID Outlet  Name    Brands
---------------------------------------------------------
20019   16          362573      shop1   john    brand1
20038    5          362574      shop1   mike    brand1
斯坦尼斯拉夫·昆迪
SELECT TOP 1 WITH TIES
  Outlet.Code,
 COUNT(DISTINCT (LogDate)) AS [Worked Days],
  AccessLog.EmployeeID AS [Employee ID],
  abr AS Outlet,
  GEmp.Name,
  Outlet.Brands
FROM [dbo].[AccessLog]
INNER JOIN dbo.Outlet
  ON dbo.Outlet.Code = dbo.AccessLog.TerminalID
INNER JOIN dbo.GEmp
  ON dbo.GEmp.EmpCode = dbo.AccessLog.EmployeeID
WHERE CONVERT(datetime, [LogDate]) BETWEEN '2017/10/01' AND '2017/10/31' and dbo.GEmp.EmpCode='362573'
AND Outlet.Brands = 'brand1'
AND [dbo].[AccessLog].InOut = '0'
GROUP BY AccessLog.EmployeeID,
         dbo.Outlet.abr,
         GEmp.Name,
         dbo.Outlet.Brands,
         dbo.Outlet.Malls,
         Outlet.Code
ORDER BY ROW_COUNT() OVER (PARTITION BY Outlet.Code ORDER BY [Worked Days] DESC)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从结果中获取最大价值

来自分类Dev

从对象的键中获取最大的价值

来自分类Dev

从CSV获取数组中的最大价值

来自分类Dev

从商店中的选定记录中获取价值

来自分类Dev

从列表中获取记录的最大日期

来自分类Dev

获取行在MySQL中具有最大价值?

来自分类Dev

选择Oracle中价值最大的记录

来自分类Dev

从对象中获取价值

来自分类Dev

从服务中获取价值

来自分类Dev

从对象中获取价值

来自分类Dev

从数字中获取价值

来自分类Dev

从游标中获取价值

来自分类Dev

在NSURLSession中获取价值

来自分类Dev

从数组中获取价值

来自分类Dev

从对象中获取价值

来自分类Dev

从方法中获取价值

来自分类Dev

从游标中获取价值

来自分类Dev

从 ExtractQuarter 中获取价值

来自分类Dev

从 ComboBox 中获取价值?

来自分类Dev

LINQ:获取列表中具有最大属性值的记录

来自分类Dev

从SELECT查询中获取具有最大值的记录

来自分类Dev

如何基于Mongo文档数组中的最大日期获取记录

来自分类Dev

如何在mysql中获取基于最大日期的记录

来自分类Dev

访问VBA-获取当前记录的价值

来自分类Dev

如何从一列中获取价值postgres中的最大计数?

来自分类Dev

PHP:比较数组,获取最大价值并更新

来自分类Dev

Oracle SQL查询在最大日期获取价值

来自分类Dev

Postgresql - 如何从每个月的最后一条记录中获取价值

来自分类Dev

获取最大记录的值