首页 > 解决方案 > 在最大列值上获取不同的行

问题描述

我需要最大列值上的一行表

SELECT  MAX(PromoFileVersion) AS PromoFileVersion
        , FYearWeek
        , WeekPriority
        , PromoEventId  
FROM PromoCalendar   
GROUP BY FYearWeek, WeekPriority, PromoEventId

但我收到重复的记录

在此处输入图像描述

有什么帮助吗?

标签: sqlsql-server

解决方案


SELECT PromoFileVersion, FYearWeek, WeekPriority, PromoEventId  
FROM PromoCalendar p
where PromoFileVersion = (select max(PromoFileVersion) PromoFileVersion
                          from PromoCalendar p1
                          where p1.FYearWeek = p.FYearWeek 
                          and p1.WeekPriority = p.WeekPriority
                          GROUP BY  FYearWeek, WeekPriority);

这是一个演示


推荐阅读