tb1
Year Qtr Mth Week
2010 1 4 11
2010 2 5 15
2011 2 5 16
2012 1 4 11如何或者查询结果
Year Qtr Mth Week
2012 1 4 11备注:查询出最大的Year,再查询出这个年最大的Week,再根据查出来的Week带出对应的Qtr和Mth也可以,因为一年只有52周,每一周都有自己对应的Qtr和Mth

解决方案 »

  1.   

    select *
    from tb t
    where Week=(select max([Week])
                from tb
                where [Year]=t.[Year] )
      

  2.   

    select * from tb1 a
     where not exists(select 1 from tb1 where Year>a.Year and Week>a.Week)
      

  3.   


    CREATE TABLE tb1(
    [Year] VARCHAR(10),
    [Qtr]  VARCHAR(10), 
    [Mth]  VARCHAR(10), 
    [Week] VARCHAR(10)
    )
    INSERT INTO tb1
    SELECT 
    '2010', '1' ,'4', '11'
    UNION ALL SELECT
    '2010', '2' ,'5', '15'
    UNION ALL SELECT
    '2011', '2' ,'5', '16'
    UNION ALL SELECT
    '2012', '1' ,'4', '11'SELECT TOP 1 * FROM tb1 ORDER BY YEAR DESC,qtr DESC
      

  4.   

    select top 1  * from tb1 order by Year desc, Qtr desc,Mth desc ,Week desc