WF859GAA  
WF859GBA
WF859GBBFW529GAA
FW529GBC
FW529GCB前面6位是款號。後面兩位是version。 現在只想得到最新的version。舊的不需要。求一sql。也就是得結果是
WF859GBB
FW529GCB 謝謝各位幫忙!!

解决方案 »

  1.   

    select * from table_name where right(column_name,2) = 最新的
      

  2.   

    CREATE TABLE TEST(COL NVARCHAR(20))
    INSERT TEST(COL) SELECT 'WF859GAA'  
    INSERT TEST(COL) SELECT 'WF859GBA'
    INSERT TEST(COL) SELECT 'WF859GBB'INSERT TEST(COL) SELECT 'FW529GAA'
    INSERT TEST(COL) SELECT 'FW529GBC'
    INSERT TEST(COL) SELECT 'FW529GCB'
    SELECT * FROM TESTSELECT * FROM TEST a WHERE not exists 
    (
    SELECT 1 FROM TEST b WHERE a.COL<b.COL and LEFT(a.COL,6)=LEFT(b.COL,6)
    )DROP TABLE TEST
      

  3.   

    SELECT col1
    FROM table1 a
    WHERE a.Right(col1,2)=
    (SELECT MAX(b.Right(col1,2))
    FROM table1 b
    WHERE a.Left(col,6)=b.Left(col,6))
      

  4.   

    把结果发出来,可以结帖了,我只要27分~~~COL                  
    -------------------- 
    WF859GAA
    WF859GBA
    WF859GBB
    FW529GAA
    FW529GBC
    FW529GCBCOL                  
    -------------------- 
    WF859GBB
    FW529GCB
      

  5.   

    DECLARE @T TABLE(N VARCHAR(100))INSERT INTO @T(N)
    SELECT 'WF859GAA' UNION
    SELECT 'WF859GBA' UNION
    SELECT 'WF859GBB' UNION
    SELECT 'FW529GAA' UNION
    SELECT 'FW529GBC' UNION
    SELECT 'FW529GCB' SELECT MAX(N) FROM @T GROUP BY SUBSTRING(N,1,6)
      

  6.   

    SELECT MAX(N) FROM @T GROUP BY left(N,6)---------- 
    FW529GCB
    WF859GBB(所影响的行数为 2 行)