A列         B列       C列 1001      AA      2012-01-02 
1001      BB      2012-02-05 
1002      CC      2012-02-30 
1003      DD      2012-02-15 
1005      DD      2012-04-03 
实现取A列唯一 C列最早的时间 改怎么写SQL 
A列         B列       C列 1001      BB      2012-02-05 
1002      CC      2012-02-30 
1003      DD      2012-02-15 
1005      DD      2012-04-03 
主要说的是一个意思,我一共有4w条数据,谢谢啦

解决方案 »

  1.   

    --> 测试数据:[tb]
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([A列] INT,[B列] VARCHAR(2),[C列] VARCHAR(10))
    INSERT [tb]
    SELECT 1001,'AA','2012-01-02' UNION ALL
    SELECT 1001,'BB','2012-02-05' UNION ALL
    SELECT 1002,'CC','2012-02-30' UNION ALL
    SELECT 1003,'DD','2012-02-15' UNION ALL
    SELECT 1005,'DD','2012-04-03'
    --------------开始查询--------------------------
    --1
    SELECT * FROM [tb] AS t WHERE NOT EXISTS(SELECT 1 FROM tb WHERE [A列]=t.[A列] AND [C列]>t.[C列]) 
    --2
    SELECT * FROM [tb] AS t WHERE [C列]=(SELECT MAX([C列]) FROM tb WHERE [A列]=t.[A列] ) ----------------结果----------------------------
    /* 
    A列          B列   C列
    ----------- ---- ----------
    1001        BB   2012-02-05
    1002        CC   2012-02-30
    1003        DD   2012-02-15
    1005        DD   2012-04-03(4 行受影响)
    */
      

  2.   

    您有没有qq号?我们qq交流,我是个菜鸟,可能我的表述有些问题。谢谢
      

  3.   

    select A列,B列,min(C列) from table group by A列,B列